Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
часть 1 | часть 2 | часть 3 | часть 4 | часть 5
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ more ].  

Смежные темы:
В помощь системному администратору > Автоматизация администрирования
Microsoft Windows > Сценарии Windows

Полезные ссылки:
· Из Windows XP Professional Product Documentation:
> Описание Cmd.exe > Command shell overview
> Using batch files > Using batch parameters > Using filters > Using command redirection operators
 
· Уроки bat-аники (для начинающих): первый и второй
· Курс из 19 лекций "Командная строка и сценарии Windows"
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Выполнение BAT-скриптов без вызова окна консоли
· cmdow - изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· blat - отправка почты из консоли
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)
 
· Архив всевозможных версий cmd.exe (от Windows NT 3.51 до Windows 10) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 4.0, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на текущей версии ОС. Ссылки wdho.ru tinyupload.com dbree.org
 
· Сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 37441 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: Maz, 07:16 24-04-2021
lexapass



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
us0r

Цитата:
Если в строке нет двойного слеша, то что возвращается в %%a? Ничего? Т.е. там пусто? Если там пусто, то при сравнении с NUL или "" оно разве не должно выполнять условие, где %%a==NUL- истина?

Вы не догоняете, цикл for будет выполнятся (точнее команды внутри него), если будет результат вывода команды echo...|find... в его условии, соответственно "если в строке нет двойного слеша", то find вернет пустую строку и на этом всё закончится, до %%а дело просто не дойдет.

Всего записей: 550 | Зарегистр. 11-10-2004 | Отправлено: 16:22 10-04-2021
redson



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите у nircmdc.exe есть коды ошибок, успех или ошибка  т.д.? Складывается ощущение, что их нет

Всего записей: 1303 | Зарегистр. 23-04-2007 | Отправлено: 17:11 10-04-2021
ExDimanya



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redson думаю что всё, что есть тут больше нету.

----------
Клон полезняшек от Ratiborus
Телеграм
Sic transit gloria mundi

Всего записей: 9357 | Зарегистр. 19-04-2018 | Отправлено: 17:35 10-04-2021
KiloSub



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кому пригодится, посмотреть размер кластера на дисках и разделах.
Подробнее...

Всего записей: 386 | Зарегистр. 30-05-2020 | Отправлено: 16:17 11-04-2021
Altruumann



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Команда архивации папок в отдельные архивы, для резервного копирования.

Код:
cd /D L:\test && FOR /F "usebackq delims=?" %i IN (`DIR /B /A:D`) DO "L:\7Zip\7z.exe" a -t7z -mx9 -m0=bcj -m1=flzma2:d512m:fb128 -x@"L:\ignore.txt" -p"pswd" -mhe=on -myx=9 -mmt=on -mtc=off -ssw -slp "L:\backup\%i.7z" "%i"

В консоли отрабатывает, через bat/cmd не запускается. Как записать в bat файл правильно?
 
В теме 7z выкладывали подходящий мне сценарий для архивации папок в отдельные архивы, но в нём параметр иключения для архиватора -x@"L:\ignore.txt", если прописать его в set params, игнорируется. Как по-другому добавить список исключения для папок и файлов?

Всего записей: 324 | Зарегистр. 04-04-2016 | Отправлено: 02:32 12-04-2021
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Altruumann
В батнике надо удваивать знак % перед переменными.
 

Всего записей: 410 | Зарегистр. 12-09-2017 | Отправлено: 06:39 12-04-2021 | Исправлено: Fenrizz, 06:57 12-04-2021
Vsevolod



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такая проблема.
 
есть компьютеры, хочу при завершении работы, чтобы папки "рабочий стол" и "документы" сбрасывались в папку с форматом "дата.время.имя_компьютера" (точки для примера, может быть любой символ) и далее эта папка копировалась в сеть на другой компьютер, к примеру "\\servcomp\save".
Т.е. чтобы вся работа была сброшена в спец папку в сети.
Как это реализовать. Заранее спасибо.

Всего записей: 2349 | Зарегистр. 13-06-2001 | Отправлено: 12:10 12-04-2021
Vsevolod



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сам отвечу
 
как-то так...
 

Код:
 
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
 
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
echo stamp: "%stamp%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
 
set x=\\servcomp\save\"%YYYY%-%MM%-%DD%\%HH%-%Min%_%ComputerName%_%username%"
 
mkdir %x%
 
For /F "Delims=" %%a in ('Dir "%USERPROFILE%\documents\*" /B 2^>nul') Do (
if not "%%~xa"==".lnk" (
copy "%USERPROFILE%\documents\%%a" "%x%"  
))
 

 
дальше доработать под свои нужды

Всего записей: 2349 | Зарегистр. 13-06-2001 | Отправлено: 21:34 12-04-2021 | Исправлено: Vsevolod, 21:35 12-04-2021
Elfajyum



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить задачу - если бат файл запускается в XP переход на метку WinXP, если из под Win7 или Win10 переход на метку Win7.

Всего записей: 8 | Зарегистр. 16-04-2021 | Отправлено: 10:19 22-04-2021
lexapass



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elfajyum
Как вариант:

Код:
@echo off
wmic os get caption |find " XP " &&goto :WinXP
wmic os get caption |find " 7 " &&goto :Win7
wmic os get caption |find " 10 " &&goto :Win7
echo Not Windows XP, 7 or 10
goto :Pause
:WinXP
echo Windows XP
goto :Pause
:Win7
echo Windows 7 or 10
:Pause
pause

Всего записей: 550 | Зарегистр. 11-10-2004 | Отправлено: 11:16 22-04-2021 | Исправлено: lexapass, 11:17 22-04-2021
Elfajyum



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lexapass
Подходящий вариант. Вполне себе решает задачу. Спасибо!

Всего записей: 8 | Зарегистр. 16-04-2021 | Отправлено: 14:44 22-04-2021
Kero1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не подскажите как то можно создать командную строку в батнике которая выполняла бы тоже действие(равносильное | заменяла задание ) которое выполняет само задание   Планировщика заданий  -  
SystemSoundsService  из венды 7 или 10  ?
 
к примеру само задание отключено\удалено в планировщике, системные звуки не проигрываются.
при запуске вышеописанного батника происходит тот же результат который давало задание в планировщике, тоесть , системные звуки начинают проигрываются , само задание остаётся отключённым\удаленным .
 
Там скрытый процесс taskhostw.exe запускает COM Handler с C:\Windows\System32\PlaySndSrv.dll из под svchost в контексте пользователя со средним приоритетом.

Всего записей: 2090 | Зарегистр. 23-08-2011 | Отправлено: 21:28 22-04-2021
Kspeh

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как автоматически при запуске компьютера бэкапить реестр в десятке? Посмотрел одну утилиту - она куски реестра откуда только не собирает. На некоторые файлы я и не подумал бы, что это реестр. Я считал, что реестр -это всего пяток файлов, которые в одном месте лежат - ан нет. Как бы их все автоматически собирать в одном месте?

Всего записей: 262 | Зарегистр. 17-11-2015 | Отправлено: 12:11 23-04-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kspeh
ERUNT

----------
Magically yours
Raistlin

Всего записей: 3086 | Зарегистр. 18-04-2005 | Отправлено: 12:26 23-04-2021
Kspeh

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
- говорят (и на ру-боарде и в инете), что под 10-ку лучше не использовать. Ненадёжно работает. Пробовал ещё несколько программ - то же самое - либо один раз срабатывает, хотя прописано каждый день, либо вдруг перестаёт работать... Одна работает потихоньку - бэкапит. Но недавно столкнулся, что бэкапит, но уже не восстанавливает - приходится вручную. Вот и подумал - может просто батник запускать в планировщике? И не переживать - сработает или нет.

Всего записей: 262 | Зарегистр. 17-11-2015 | Отправлено: 14:21 23-04-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kspeh

Цитата:
под 10-ку лучше не использовать. Ненадёжно работает.

Пробовали?

----------
Magically yours
Raistlin

Всего записей: 3086 | Зарегистр. 18-04-2005 | Отправлено: 14:52 23-04-2021
kot1313



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin

Цитата:
ERUNT

Использую с начала существования.
В W10 прекрасно восстанавливает реестр, для чего и предназначена
 
Kspeh

Цитата:
говорят (и на ру-боарде и в инете), что под 10-ку лучше не использовать.

В W8-10 желательно работать без мусорных и вредоносных сервисов типа дефендера, системы обновления и восстановления.
И не забывать напрочь отключить UAC.
Очевидно в Вашем случае правильно сохранять и восстанавливать реестр программе мешает какой-нибудь из вышеуказанных паразитов.
 

Всего записей: 2385 | Зарегистр. 11-12-2002 | Отправлено: 16:41 23-04-2021 | Исправлено: kot1313, 16:42 23-04-2021
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вот и подумал - может просто батник запускать в планировщике?  

Я тоже так подумал несколько лет назад. Теперь и думать не хочу.

----------
Мы все умрём. (-:

Всего записей: 3457 | Зарегистр. 23-04-2009 | Отправлено: 16:52 23-04-2021
kraeved



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Kspeh
Подскажите, пожалуйста, как автоматически при запуске компьютера бэкапить реестр в десятке?  

1. Качаем Tweaking.com Registry Backup 4 Acelogix Regbak.
2. Создаём задачу в Планировщике вида
    regbak64.exe /dir:"d:\BackupRegistry\<ComputerName>\<date>-<time>" /reg:su /vss:y /limitcount:30
 
 

Всего записей: 838 | Зарегистр. 01-03-2003 | Отправлено: 17:38 23-04-2021 | Исправлено: kraeved, 09:59 28-04-2021
Fenrizz



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kspeh
А такой вариант не устраивает?  

Код:
regedit /E C:\all.reg - выполнить экспорт всего реестра в файл C:\all.reg

Всего записей: 410 | Зарегистр. 12-09-2017 | Отправлено: 19:04 23-04-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru