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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравия всем желаю. Прошу помощи дилетанту в этом вопросе. Имею:

Цитата:
@echo off
start "" "D:\SibSoft\software\Resources\Restorator\Restorator.reg"
pause=50
start "" "D:\SibSoft\software\Resources\Restorator\Restorator.exe"
exit

Что нужно изменить(прописать) чтобы при выполнении батника не вылетали окна для подверждения выполнения, а всё автоматом отработало.  
Другими словами нужно информацию из рег-файла добавить автоматом в реестр и после этого запустить заданную программу.

Всего записей: 829 | Зарегистр. 12-09-2014 | Отправлено: 19:04 20-10-2020 | Исправлено: sibirnik, 19:33 20-10-2020
Smitis



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

Код:
@echo off
regedit /s "D:\SibSoft\software\Resources\Restorator\Restorator.reg"
"D:\SibSoft\software\Resources\Restorator\Restorator.exe"

Но проще взять портабельный Restorator, не требующий манипуляций с реестром.

----------
Разум когда-нибудь победит

Всего записей: 2409 | Зарегистр. 09-02-2003 | Отправлено: 19:47 20-10-2020
sibirnik



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

Цитата:
Но проще взять портабельный

Это для примера. Не всегда есть портабле версии нужных программ.
Вот теперь всё работает как нужно.
 

Всего записей: 829 | Зарегистр. 12-09-2014 | Отправлено: 21:37 20-10-2020
diovus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго дня. подскажите с решением такой задачи с помощью .bat файла:
 
1. Надо поменять обои на рабочем столе (Win 10pro) только не единичные обои а в слайд-шоу (стандартная опция в персонализации виндовс). Обои лежат на серваке в локальной сети (папка "обои" в ней подпапки "01 лето 2017", "02 юбилей", "03 отпуск" итд с фотографиями в .jpg) вот надо запуская бат файл чтобы менялась папка для слайд-шоу.
Или один .bat файл с параметрами запускать (в параметре название подпапки, или её порядковый номер) или наделать столько бат файлов сколько подпапок с фото) один бат-ник конечно удобнее, т.к. в случае добавления новых подпапок с обоями, не надо делать новые батники к ним, а всё тот-же один бат файл запускать, только с новыми параметрами
 
2. можно ли с помощью .bat файла вывести перечень (листинг) подпапок в папке (из п.1) на экран, секунд на 10?
 только не виде командной строки, а в каком-нибудь окошке посимпатичнее)

Всего записей: 1 | Зарегистр. 28-10-2020 | Отправлено: 15:55 28-10-2020 | Исправлено: diovus, 15:56 28-10-2020
Dzhontrivolta



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите если для копирования с переименованием скрытого файла в батнике использовать xcopy, можно ли как-то избавиться от запроса файл или каталог?

Всего записей: 26 | Зарегистр. 26-10-2017 | Отправлено: 15:08 31-10-2020
Karolinka69



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dzhontrivolta
Ну ключа такого у xcopy нет, но можно извратиться. Пример скопировать скрытый файл test.ini с
переименованием в files.ini:

Код:
echo f | xcopy /y /h test.ini files.ini >nul

Всего записей: 99 | Зарегистр. 23-02-2018 | Отправлено: 20:28 01-11-2020 | Исправлено: Karolinka69, 20:29 01-11-2020
Dzhontrivolta



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Karolinka69
Супер, большое спасибо! То, что надо.

Всего записей: 26 | Зарегистр. 26-10-2017 | Отправлено: 10:17 02-11-2020
Artem_Butenko



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

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 18:30 02-11-2020 | Исправлено: Artem_Butenko, 18:32 02-11-2020
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно добавить вопрос? Не могу разобраться почему не работает мой скрипт считывания значения из реестра в переменную, в зависимости от разрядности ОС. Ошибка: Недопустимое имя раздела. Буду благодарен всем конструктивным предложениям!

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 00:26 03-11-2020 | Исправлено: Artem_Butenko, 00:27 03-11-2020
kot1313



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

Всего записей: 2372 | Зарегистр. 11-12-2002 | Отправлено: 01:09 03-11-2020 | Исправлено: kot1313, 19:32 21-01-2021
ozr1

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Цитата:
Не могу понять - как заставить скипт проерять при начале работы есть ли запись в hosts и
Если есть, то не добалять эту запись повторно
Если нету, то добавлять.

Я бы разделил задачу на 2 шага: 1) создать временный файл без строк с порнохабом; 2) дописать во временный файл порнохаб.
 
Как-то так (сам не проверял, но по идее, должно работать):

Код:
cacls %windir%\system32\drivers\etc\hosts /E /P Administrator:F
findstr /v "pornohub" %windir%\system32\drivers\etc\hosts > %temp%\hosts
 
echo # pornohub>>%temp%\hosts
echo 127.0.0.1 pornohub.com>>%temp%\hosts
echo # pornohub>>%temp%\hosts
 
copy /y %temp%\hosts %windir%\system32\drivers\etc  
del /f /q %temp%\hosts

Для других доменов -- аналогично: просто через пробел в закавыченную строку в findstr дописать исключаемые домены.

Всего записей: 262 | Зарегистр. 05-07-2015 | Отправлено: 01:33 03-11-2020
BorlandIMHO

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

Цитата:
каким образом проверить хэши группы файлов и если есть хотя бы одно несовпадение, то завершить пакетный файл.

fciv
Код:
fciv -v -xml checksums.xml || exit

Checksums.xml предварительно формировать той же fciv:
Код:
fciv -md5 -xml checksums.xml -add "x:\path to\file.ext"

В принципе, аналогично можно и любым другим консольным хэшером (md5sum, fsum и т.д. - тыщи их...)  
Fciv приведён в качестве примера именно в силу того, что у него нет разнобоя в версиях...
 
kot1313

Цитата:
как заставить скипт проерять при начале работы есть ли запись в hosts


Код:
1>nul 2>&1 find /I "pornohub.com" <"%WINDIR%\System32\drivers\etc\hosts" && echo skip processing || echo add pornohub to hosts


----------
http://www.imho.ws

Всего записей: 1237 | Зарегистр. 12-10-2006 | Отправлено: 01:35 03-11-2020 | Исправлено: BorlandIMHO, 01:41 03-11-2020
Artem_Butenko



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

Цитата:
В принципе, аналогично можно и любым другим консольным хэшером (md5sum, fsum и т.д. - тыщи их...)  
Fciv приведён в качестве примера именно в силу того, что у него нет разнобоя в версиях...

 
Спасибо, только каким образом реализовать выход из пакетного файла при несовпадении хэшей? Хотя это половина беды, больше интересует другой неразрешимый момент.

Всего записей: 657 | Зарегистр. 19-02-2008 | Отправлено: 03:23 03-11-2020 | Исправлено: Artem_Butenko, 05:36 03-11-2020
kot1313



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

Всего записей: 2372 | Зарегистр. 11-12-2002 | Отправлено: 06:04 03-11-2020 | Исправлено: kot1313, 19:32 21-01-2021
BorlandIMHO

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

Цитата:
Как я понимаю, эту строчку нужно содавать для каждого нового адреса

Типа того. Но есть же такая замечательная штука, как циклы:
Код:
for /f "usebackq tokens=1 delims=" %%A in (domainlist.txt) do (
1>nul 2>&1 find /I "%%~A" <"%WINDIR%\System32\drivers\etc\hosts"  || 1>>"%temp%\hosts.add" echo 127.0.0.1 %%~A
)
copy /y "%windir%\system32\drivers\etc\hosts"+"%temp%\hosts.add"  
del /f /q "%temp%\hosts.add"

Данный конкретный код не отлаживался. Чисто демонстрация концепции.
 
P.S. Может быть, проще каждый раз тупо формировать hosts  "с нуля", не заморачиваясь проверками?.. Тоже в качестве "концепции"...

----------
http://www.imho.ws

Всего записей: 1237 | Зарегистр. 12-10-2006 | Отправлено: 07:29 03-11-2020 | Исправлено: BorlandIMHO, 07:45 03-11-2020
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
 
 
Добавлено:
kot1313
Сколько времени занимает поиск строки в вашем файле и сколько вы добавляете новых строк?

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 17:56 03-11-2020
kot1313



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

Всего записей: 2372 | Зарегистр. 11-12-2002 | Отправлено: 19:17 03-11-2020 | Исправлено: kot1313, 19:32 21-01-2021
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Вопрос был просто про скорость, если всё быстро, то всё норм.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:39 03-11-2020
kot1313



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

Всего записей: 2372 | Зарегистр. 11-12-2002 | Отправлено: 21:26 03-11-2020
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kot1313
Зачем выполнять дополнительные действия, это усложнит процесс.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 21:44 03-11-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум 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