わかりましたので、複数のコマンドで HandbrakeCLI を使用して、すべてのタイプのビデオを 1 つのフォルダーに変換し、別のフォルダーに出力する Windows 10 .bat スクリプトがあります。
それに加えて、 BESのような CPU 使用率リミッターを使用して、HandbrakeCLI の CPU 使用率を制御したいと考えています。
各ファイルが変換された後、変換が完了したことを示す Pushbullet 通知を自分に送信したいと考えています。
以下のコードはそれを達成するのに役立ちますが、.bat ファイルを 2 回実行して開始し、1 回の反復後に停止する必要があります。
最初は複数のコマンドの使用に問題があったため、検索を行い、コマンド間で「&」を使用しましたが、喜びはありませんでした。
私はすでにこれらすべてを実行する 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
また
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
//TODO
すでに変換されたファイルを削除する
更新:以下のコードを使用して動作するようになりましたが、ループごとに「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