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

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

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

Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201

   

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.10 до Windows 11 +Win95cmd +ReactOS) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на своей версии ОС.
 
· Большой сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 39058 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: metatrop, 07:55 29-11-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
titanieo
Команда montage из ImageMagick умеет работать с PDF и все то, что вы хотели - тоже умеет.

Всего записей: 12731 | Зарегистр. 11-03-2002 | Отправлено: 12:28 22-10-2023
Simple Code

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wu Tang
 
Запускать из CMD
 
Отключить функцию восстановления системы:
powershell.exe -NoP -NoL -EP Bp Disable-ComputerRestore -Drive $env:SystemDrive;
 
Включить функцию восстановления системы:
powershell.exe -NoP -NoL -EP Bp Enable-ComputerRestore -Drive $env:SystemDrive;
 
Проверил на версии PS 2.0 — работает, такая версия в Win-7 из коробки. А так, на всех системах должно работать.
 
Проверить версию PowerShell (выполнить в консоли PS):
$$='Major','Minor'|%{$host.Version.$_};$$-Join'.';

Всего записей: 205 | Зарегистр. 19-11-2022 | Отправлено: 19:30 22-10-2023 | Исправлено: Simple Code, 23:38 22-10-2023
Pasha_ZZZ



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

Цитата:
Проверить версию PowerShell (выполнить в консоли PS):

Зачем такие сложности?
Код:
$PSVersionTable
достаточно.

Всего записей: 12731 | Зарегистр. 11-03-2002 | Отправлено: 19:39 22-10-2023
Simple Code

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

Всего записей: 205 | Зарегистр. 19-11-2022 | Отправлено: 19:42 22-10-2023
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
но в 7-ке он 2,0 и не работает команда, а в 10 работает.
 
Simple Code

Цитата:
Включить функцию восстановления системы:
powershell.exe -NoP -NoL -EP Bp Disable-ComputerRestore -Drive $env:SystemDrive;
 
Отключить функцию восстановления системы:
powershell.exe -NoP -NoL -EP Bp Enable-ComputerRestore -Drive $env:SystemDrive;

 
а вы не ошиблись? может первая выключить, вторая - включить?
мне как раз для 7-ки и надо, тк в 10-ке отрабатывает корректно:

Код:
 
powershell -command "Disable-Computerrestore -drive 'C:\'"
 

ваш вариант, наверное, более правильный, тк используется переменная systemdrive, тк ось может быть и не на С.
 
ps вчера под утро уже, нашел еще вариант, который сработал и на 7 и на 10.

Код:
wmic /namespace:\\root\default Path SystemRestore Call disable "C:\"

 
теперь уж и не знаю на чем остановится, видимо ваш самый корректный.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3839 | Зарегистр. 15-10-2007 | Отправлено: 22:09 22-10-2023 | Исправлено: Wu Tang, 22:10 22-10-2023
Simple Code

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

Цитата:
а вы не ошиблись? может первая выключить, вторая - включить?

Перепутал, спасибо. Исправил.

Цитата:
ваш вариант, наверное, более правильный, тк используется переменная systemdrive, тк ось может быть и не на С.

Так в вашем варианте тоже можно поставить переменную:
wmic /namespace:\\root\default Path SystemRestore Call disable "%SystemDrive%"

Цитата:
теперь уж и не знаю на чем остановится, видимо ваш самый корректный.

С wmic могут возникнуть проблемы, т.к. мелкомягкие начудили, сначала отключили его, потом вроде обратно включили. Это касается Windows 10 21H1 и новее.
https://i.imgur.com/G6JLgqD.png

Всего записей: 205 | Зарегистр. 19-11-2022 | Отправлено: 23:37 22-10-2023 | Исправлено: Simple Code, 23:58 22-10-2023
Wu Tang



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

Цитата:
С wmic могут возникнуть проблемы, т.к. мелкомягкие начудили, сначала отключили его, потом вроде обратно включили. Это касается Windows 10 21H1 и новее.

да, я слышал об этом, но как не странно команда работает, специально проверил на самой последней 22h2
http://ipic.su/img/img7/fs/2023-10-23_02-57-43.1698019199.jpg
 
протестил вашу команду на чистой 7-ке - не отключила, а перевела галочку - восстанавливать только предыдущие версии файлов.
http://ipic.su/img/img7/fs/2023-10-23_03-10-09.1698020920.jpg
 
и насчет переменных, мне нужно в батнике выполнить поочередно:

Код:
 
vssadmin delete shadows /all /quiet
vssadmin resize shadowstorage /for=c: /on=c: /maxsize=1%
sc config vss start=demand
net stop vss
wmic /namespace:\\root\default Path SystemRestore Call disable "%SystemDrive%" или powershell.exe -NoP -NoL -EP Bp Disable-ComputerRestore -Drive $env:SystemDrive;
 
 

для второй команды поддерживается переменная systemdrive?

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3839 | Зарегистр. 15-10-2007 | Отправлено: 03:21 23-10-2023 | Исправлено: Wu Tang, 00:12 24-10-2023
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Wu Tang
В батнике она "поддерживается" везде, к команде отношения не имеет, подставляется ее значение еще до выполнения команды.

Всего записей: 12731 | Зарегистр. 11-03-2002 | Отправлено: 06:11 23-10-2023
Wu Tang



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


----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3839 | Зарегистр. 15-10-2007 | Отправлено: 08:01 23-10-2023
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Wu Tang
Ну конечно. Разве по слову "поддерживается" это непонятно?

Всего записей: 12731 | Зарегистр. 11-03-2002 | Отправлено: 08:02 23-10-2023
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
что с https://pastebin.com/yGRkmqXd по итогу?
доработать есть возможность, чтоб uac (как минимум у exe) не спрашивало?

Всего записей: 1231 | Зарегистр. 23-01-2006 | Отправлено: 09:40 23-10-2023
Simple Code

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

Всего записей: 205 | Зарегистр. 19-11-2022 | Отправлено: 22:27 23-10-2023
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
понятно.
Simple Code
а что скажите по моему вопросу почему не отключила, а перевела галку на другую настройку?

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3839 | Зарегистр. 15-10-2007 | Отправлено: 05:40 24-10-2023
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
попробовал на 10 и 11 - вообще ничего не загружает при старте

Всего записей: 1231 | Зарегистр. 23-01-2006 | Отправлено: 09:13 24-10-2023
dadu



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

Цитата:
 
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12 delims=;:" %%A in ('FIND /I "Объект заблокирован" file.txt') do (
IF NOT "%%L"=="" echo Закройте %%L)  
 

 
не понял как должно работать.
 
Из строки

Код:
NRC.log:20231018;14:29:07;Робот;C;Distr;DistUplErr;5;Объект заблокирован: Перемещение товаров ИВC00014955 (16.10.23);;
 

Берем 11 токен, выводим в эхо значение 12 токена.
Не получается у меня.
 
я делал так ,что сократить кол-во токенов

Код:
for /f "tokens=11,12 delims=;:" %%A in ('FIND /I "Объект заблокирован" file.txt') do (
IF NOT "%%L"=="" echo Закройте %%L)  

 
не работает у меня
 
А, тут буквально, следующий токен, равно следующая буква. вот же
так работает

Код:
for /f "tokens=11,12 delims=;:" %%A in ('FIND /I "Объект заблокирован" %~dp0errorr.txt') do (
IF NOT "%%B"=="" msg * /time:5 "Закройте %%B")  
 
 
 
 

Всего записей: 1222 | Зарегистр. 13-11-2002 | Отправлено: 04:41 25-10-2023 | Исправлено: dadu, 05:06 25-10-2023
dadu



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С выводом сообщения разобрался с помощью Fenrizz
 
В логе кодировка 1251, не находит значение.
Если лог сохранить DOS 866, тогда находит.
 
Как читать из лога если кодировка лога WIN 1251 ?
 
С этим тоже разобрался, но в командном окне крякозябры.

Всего записей: 1222 | Зарегистр. 13-11-2002 | Отправлено: 09:32 25-10-2023 | Исправлено: dadu, 09:59 25-10-2023
vaskamy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил сделать автоматизацию. Есть некое видео - любое mp4 из этого видео извлекается кадр картинка, картинка поворачивается на 90 градусов и сохраняется рядом с видео, потом видео поворачивается на 90 градусов и в него встраивается извлечённая картинка как привьюшка - cover.
Всё это должно делаться одним бат файлом. Не получается - выходное видео получается без превьюшки. Скрипт нормально отрабатывает только до того момента как извлечь картинку повернуть картинку и видео а дальше не встраивает, но если повёрнутое видео пропустить через отдельный батник по встраиванию обложки в видео то получается. Вот частично работающий батник:

Код:
@echo off
setlocal enabledelayedexpansion
 
CD /D "%~dp0"
 
set "FFMPEG_PATH=D:\ffmpeg\bin\ffmpeg.exe"
set "input_path=%~1"
set "output_filename=%~n1"
set "output=%~dp1%output_filename%.png"
set "time=00:00:00.484"
 
"%FFMPEG_PATH%" -ss %time% -i "%input_path%" -vf "transpose=2" -c:a copy -y "%output%" && ^
 
CD /D "%~dp1"
set "ffmpeg=D:\ffmpeg\bin"
set "path=%path%;%ffmpeg%"
ffmpeg -display_rotation 90 -i %1 -y -c copy %1.mp4
 
setlocal
set "FileName=%~1"
set "FilePath=%~dp1"
setlocal enableDelayedExpansion
 
CD /D "!FilePath!"
set "path=!path!;!ffmpeg!"
 
for %%i in (*.png *.jpg) do (
    set "pic=%%~dpnxi"
    ffmpeg -i "!FileName!" -i "!pic!" -map 1 -map 0 -c copy -disposition:0 attached_pic -y "!FileName!.mp4"
)
endlocal
 

Всего записей: 1039 | Зарегистр. 04-03-2017 | Отправлено: 09:35 26-10-2023
virjokk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуйте убрать setlocal enabledelayedexpansion во 2-й строке и setlocal в 19-й

Всего записей: 304 | Зарегистр. 19-05-2006 | Отправлено: 11:34 26-10-2023
vaskamy



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

Цитата:
Попробуйте убрать setlocal enabledelayedexpansion во 2-й строке и setlocal в 19-й

Обложка к выходному файлу добавляется а вот поворот видео против часовой стрелки на 90 градусов не произошел. Я пробовал менять команды местами, происходит на оборот, видео поворачивается обложка не добавляется.

Всего записей: 1039 | Зарегистр. 04-03-2017 | Отправлено: 12:46 26-10-2023
Arcadaw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Установил Npcap для Wireshark. А как его отключить через CMD вцелях безопасности?
Можно ручками в настройках Ethernet-адаптера снять галочку. Но хотелось бы батником это делать.

Всего записей: 1544 | Зарегистр. 25-03-2004 | Отправлено: 15:59 26-10-2023
   

Страницы: 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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd
Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru