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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 61 62 63 64 65 66 67 68 69 70

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

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

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



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

Цитата:
Новая задачка появилась. Вроде простая.
В общем нужно поработать с вычитанием 16-тиричных чисел до 100 знаков.  

Попробуйте использовать bc под Windows - http://gnuwin32.sourceforge.net/packages/bc.htm

Всего записей: 471 | Зарегистр. 12-09-2017 | Отправлено: 17:21 08-11-2021
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста помогите решить следующую задачу.
1. Считать из ключа системного реестра путь к определенному исполняемому файлу приложения (в принципе я знаю, как это можно реализовать).
2. Если ключ системного реестра из пункта №1 отсутствует или файл не найден, попытаться запустить этот исполняемый файл из каталога пакетного скрипта.
Буду очень Вам благодарен за помощь.

Всего записей: 662 | Зарегистр. 19-02-2008 | Отправлено: 14:39 10-11-2021
lexapass



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

Код:
 
set "ProgramPath="
for /f "tokens=2*" %%a in ('reg query HKLM\Software\ProgramKey /v ProgramPath 2^>nul ^| find /i "ProgramPath"') do set "ProgramPath=%%~b"
if defined ProgramPath if not exist "%ProgramPath%\ProgramName.exe" set "ProgramPath="
if not defined ProgramPath "%~dp0ProgramName.exe"

Всего записей: 555 | Зарегистр. 11-10-2004 | Отправлено: 16:29 10-11-2021
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lexapass
 
Благодарю Вас добрый человек!
 

Цитата:
set "ProgramPath="
for /f "tokens=2*" %%a in ('reg query HKLM\Software\ProgramKey /v ProgramPath 2^>nul ^| find /i "ProgramPath"') do set "ProgramPath=%%~b"
if defined ProgramPath if not exist "%ProgramPath%\ProgramName.exe" set "ProgramPath="
if not defined ProgramPath "%~dp0ProgramName.exe"  

Можно ли показать данный алгоритм на примере, скажем 7-Zip?
Поясните пожалуйста, каким образом включить редирект для 64-х битных ОС.

Всего записей: 662 | Зарегистр. 19-02-2008 | Отправлено: 16:34 10-11-2021 | Исправлено: Artem_Butenko, 09:30 11-11-2021
lexapass



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

Цитата:
Можно ли показать данный алгоритм на примере, скажем 7-Zip?  


Код:
set "SZipPath="
for /f "tokens=2*" %%a in ('reg query HKLM\Software\7-Zip /v Path 2^>nul ^| find /i "Path"') do set "SZipPath=%%~b"
if defined SZipPath if not exist "%SZipPath%7zFM.exe" set "SZipPath="
if not defined SZipPath "%~dp07zFM.exe"  

 

Цитата:
Поясните пожалуйста, каким образом включить редирект для 64-х битных ОС.

Поясните для начала, что за редирект имеется в виду?

Всего записей: 555 | Зарегистр. 11-10-2004 | Отправлено: 11:15 11-11-2021 | Исправлено: lexapass, 12:15 11-11-2021
KiloSub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем приве, здщравствуйте доччи)




флуд. в бан

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 11:29 11-11-2021 | Исправлено: Maz, 13:22 11-11-2021
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lexapass
 
1.
Цитата:
Поясните пожалуйста, каким образом включить редирект для 64-х битных ОС.

Для 32-х битных приложений в 64-х разрядных ОС записи осуществляются в ветвь реестра "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node", а не в "HKEY_LOCAL_MACHINE\SOFTWARE" (как в "родной 32-х битной ОС).
 
2. Сценарий не работает, если значение параметра ключа системного реестра в строковом параметре заключено в кавычки. Как я понимаю, их нужно отсечь? Например, ключ "HKLM\Software\ProgramKey" имеет параметр "ProgramPath", содержащий путь заключенный в кавычки "C:\Program Files (x86)\MyProgram".

Всего записей: 662 | Зарегистр. 19-02-2008 | Отправлено: 11:51 11-11-2021 | Исправлено: Artem_Butenko, 11:52 11-11-2021
lexapass



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

Цитата:
1. Для 32-х битных приложений в 64-х разрядных ОС записи осуществляются в ветвь реестра "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node", а не в "HKEY_LOCAL_MACHINE\SOFTWARE" (как в "родной 32-х битной ОС).  

Какая тут связь с командной строкой и скриптом?

Цитата:
2. Сценарий не работает, если значение параметра ключа системного реестра в строковом параметре заключено в кавычки. Как я понимаю, их нужно отсечь? Например, ключ "HKLM\Software\ProgramKey" имеет параметр "ProgramPath", содержащий путь заключенный в кавычки "C:\Program Files (x86)\MyProgram".

Для чего тогда символ "~" в присвоении?

Всего записей: 555 | Зарегистр. 11-10-2004 | Отправлено: 12:28 11-11-2021
KiloSub



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




флуд

Всего записей: 420 | Зарегистр. 30-05-2020 | Отправлено: 13:09 11-11-2021 | Исправлено: Maz, 13:22 11-11-2021
Artem_Butenko



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

Цитата:
Какая тут связь с командной строкой и скриптом?

Прямая. Откуда и что читать. Например, для одного и того же приложения в x64 системе запись будет выглядеть так, - "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MyProgram", а в x86, следующим образом: "HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram".
 

Цитата:
Для чего тогда символ "~" в присвоении?

Принял.
 
3. Сценарий почему-то передаёт запускаемому исполняемому файлу параметр set.

Всего записей: 662 | Зарегистр. 19-02-2008 | Отправлено: 13:09 11-11-2021
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Artem_Butenko
Это если приложение 32-битное. Тогда можно добавить к команде reg query ключ /reg:32

Всего записей: 10175 | Зарегистр. 11-03-2002 | Отправлено: 14:10 11-11-2021
lexapass



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

Цитата:
Прямая. Откуда и что читать. Например, для одного и того же приложения в x64 системе запись будет выглядеть так, - "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MyProgram", а в x86, следующим образом: "HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram".  

Если озаботились определением разрядности, то в шапке есть отправная точка - Переход из 32-битной версии cmd.exe в 64-битную. В обратную сторону это тоже работает.

Цитата:
3. Сценарий почему-то передаёт запускаемому исполняемому файлу параметр set.

По всей видимости в Вашем коде ошибка.

Всего записей: 555 | Зарегистр. 11-10-2004 | Отправлено: 14:20 11-11-2021
Artem_Butenko



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

Цитата:
Вижу, что сценарий сильно меняется по ходу этой пьесы, потому заканчиваю свое участие, следующие акты без меня. Все эти вопросы вполне решаемы самостоятельно.

Спасибо Вам за помощь.
 

Цитата:
По всей видимости в Вашем коде ошибка.

Пакетный сценарий искренне Ваш. Видимо неоднозначно обрабатывается для разных приложений...

Всего записей: 662 | Зарегистр. 19-02-2008 | Отправлено: 03:20 12-11-2021 | Исправлено: Artem_Butenko, 04:26 12-11-2021
Silver Raven

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По результатам отзыва юзеров, получается так, что вот этот простейший кусок cmd-шника порой работает некорректно:
 

Код:
 
set "SkyrimPrefsINI=%USERPROFILE%\Documents\My Games\Skyrim Special Edition\SkyrimPrefs.ini"
set "PluginsListFolder=%USERPROFILE%\AppData\Local\Skyrim Special Edition"
 
if not exist "%SkyrimPrefsINI%" (
cls
color fc
 echo.
 echo.
 echo *ОШИБКА! SkyrimPrefs.ini не найден!
 echo.
 echo Используйте лаунчер игры для задания настроек, согласно своим предпочтениям.
 echo Перезапустите панель управления сборкой для повторного выполнения данной опции.
 echo.
 echo.
pause
exit
)
 
color f2
 @echo.
 @echo.
 @echo  ■ Копируется отсортированный список загрузки модов...
 if not exist "%PluginsListFolder%" md "%PluginsListFolder%"
 copy /y "Silver Raven mods pack data\Plugins list\plugins.txt" "%PluginsListFolder%\"
 
и т.д.
 

 
Файл по указанному пути есть - а ошибка все равно отображается. Я хоть убей не могу понять, как такое может быть. cmd не запускают на ОС старее Win7. Может, это как-то связано с тем, что имя пользователя написано на кириллице?

Всего записей: 129 | Зарегистр. 12-10-2012 | Отправлено: 23:44 13-11-2021 | Исправлено: Silver Raven, 11:55 14-11-2021
GCRaistlin



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

Цитата:
Может, это как-то связано с тем, что имя пользователя написано на кириллице?

Что мешает проверить самому?

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

Всего записей: 3195 | Зарегистр. 18-04-2005 | Отправлено: 00:18 14-11-2021
INKOGNI



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Нужен батник для удаления на компьютере папок с названиями начинающимися с https+++

Всего записей: 1273 | Зарегистр. 09-01-2006 | Отправлено: 04:02 14-11-2021
Silver Raven

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

Цитата:
Что мешает проверить самому?

Отсутствие Win 10 Home (где только онлайн учетки) и Win 7. Или предложите установить, только ради одного cmd-шника?

Всего записей: 129 | Зарегистр. 12-10-2012 | Отправлено: 11:54 14-11-2021 | Исправлено: Silver Raven, 11:54 14-11-2021
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Silver Raven
Проверьте на чем есть. Едва ли проблема связана с конкретной ОС.

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

Всего записей: 3195 | Зарегистр. 18-04-2005 | Отправлено: 12:02 14-11-2021
Silver Raven

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
На чем есть - работает. Коду года 2. А массовые жалобы начались только сейчас. НО! раньше он был скомпилирован в виде exe файла. Пришлось отказаться из-за психоза майкросовтовского дефендера и китайских поделок. Все остальные, шум не поднимали.

Всего записей: 129 | Зарегистр. 12-10-2012 | Отправлено: 12:17 14-11-2021
Pasha_ZZZ



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

Цитата:
Отсутствие Win 10 Home (где только онлайн учетки)

Это что за бред и откуда

Всего записей: 10175 | Зарегистр. 11-03-2002 | Отправлено: 12:21 14-11-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 61 62 63 64 65 66 67 68 69 70

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

Рейтинг.ru