Итак, у меня есть скрипт Windows 10 .bat для преобразования видео всех типов в одну папку и вывода в другую с помощью HandbrakeCLI с несколькими командами.
В дополнение к этому я хочу использовать ограничитель использования ЦП, такой как BES, чтобы контролировать использование ЦП HandbrakeCLI. .
После преобразования каждого файла я хочу отправить себе уведомление Pushbullet о том, что преобразование завершено.
Приведенный ниже код помогает мне добиться этого, однако мне нужно дважды запустить файл .bat, чтобы запустить его, и после одной итерации он останавливается.
Первоначально были проблемы с использованием нескольких команд, а также с поиском и использованием «&» между командами, без радости.
У меня уже есть сценарий Powershell, который делает все это, поэтому, пожалуйста, не предлагайте Powershell, я не хочу его использовать, потому что сценарий Powershell требует повышенных привилегий, которые я больше не хочу давать.
FOR /R "D:\ToConvert" %%i IN (*.*) DO "C:\Program Files (x86)\BES_1.6.2\BES.exe" "C:\Program Files\Handbrake\HandBrakeCLI.exe" 33 --minimize & "C:\Program Files\HandBrake\HandBrakeCLI.exe" -i "%%i" -t 1 -c 1 -o "D:\Done\%%~ni.mp4" --preset="Normal" --optimize & powershell -ExecutionPolicy Bypass -command "D:\Scripts\SendPushBullet.ps1 "%%~ni" " Converted"" & taskkill /im BES.exe
OR
call "C:\Program Files (x86)\BES_1.6.2\BES.exe" "C:\Program Files\Handbrake\HandBrakeCLI.exe" 33 --minimize
for /r "D:\ToConvert" %%i IN (*) do (
"C:\Program Files\HandBrake\HandBrakeCLI.exe" -i "%%i" -o "D:\Done\%%~ni.mp4" --preset="Normal" --optimize
powershell -ExecutionPolicy Bypass -command "D:\Scripts\SendPushBullet.ps1 "%%~ni" " Converted""
)
taskkill /im BES.exe
exit /b
//СДЕЛАТЬ
Удалить уже преобразованный файл
Обновление: он заработал, используя приведенный ниже код, но теперь вы хотите удалить преобразованный файл из папки «ToConvert» для каждого цикла.
start "" "C:\Program Files (x86)\BES_1.6.2\BES.exe" "C:\Program Files\Handbrake\HandBrakeCLI.exe" 33 --minimize
for /r "D:\ToConvert" %%i IN (*) do (
"C:\Program Files\HandBrake\HandBrakeCLI.exe" -i "%%i" -o "D:\Done\%%~ni.mp4" --preset="Normal" --optimize
powershell -ExecutionPolicy Bypass -command "D:\Scripts\SendPushBullet.ps1 "%%~ni" " Converted""
)
taskkill /im BES.exe
FOR-DO
в отдельную строку. - person Melebius   schedule 25.08.2015