つまり、基本的に私がやろうとしているのは、テキスト ファイルの各行を mp4decrypt 内のキーとして使用することです。したがって、Video.mp4 用に生成された 3 つのキーがある場合、Video_1.mp4、Video_2.mp4、および Video_3.mp4 を出力する必要があります。それぞれが Keys.txt 内の 3 つのキーのうちの 1 つを使用しました。そして、ディレクトリ内のすべての mp4 ファイルで同じことを行います。
私が持っている現在のコードは、すべての mp4 で mp4decrypt を実行しますが、keys.txt ファイルの最後のキーのみを使用します。そして、最初に処理されたファイルに _1 を追加し、2 番目に処理されたファイルに _2 を追加します。しかし、Video.mp4 には _1 から _3 までの 3 つのファイルがあり、Video2.mp4 には _1 から _3 までのファイルが含まれるファイルを出力する必要があります。
ネストされた for ループを使用してみましたが、 --key を読み取ることができなくなったため、機能していないようです。
setlocal enabledelayedexpansion
set "counter=1"
for /f "delims=" %%b in (keys.txt) do set key=%%b
for /f "tokens=1 delims=." %%a in ('dir /B *.mp4') do (
mp4decrypt --key %key% --show-progress "%%a.mp4" "%%a_!Counter!.mp4"
set /a counter+=1
)
endlocal
うまくいけば、これは理にかなっています。思うように動かせそうにありません。