4

を使用して、フォルダー内のすべての mkv を mp4 に変換するスクリプトがありましたffmpeg。欠点は、.mkv 拡張子を残し、.mp4 を追加しただけであることです (例: file.mkv.mkp4)。拡張子なしで名前を取得するために使用できることは知ってい%~nますが、それを理解できないようです。

これが私の元のスクリプトです:

for %%i IN (*.mkv) DO (ffmpeg -y -ss 00:00:00 -threads 6 -i "%%i" -vcodec copy -f mp4 -strict experimental -acodec aac -ab 128k -ac 2 "%%i.mp4")

これが私が試したことです:

for %%i IN (*.mkv) DO (ffmpeg -y -ss 00:00:00 -threads 6 -i "%~ni.mkv" -vcodec copy -f mp4 -strict experimental -acodec aac -ab 128k -ac 2 "%~ni.mp4")
4

1 に答える 1

4

ループ変数のパーセント記号は、バッチ スクリプトで 2 倍にする必要があるため、.%%~niの代わりに使用する必要があり%~niます。ドキュメントののセクションを参照してください。

于 2013-02-10T00:05:43.777 に答える