2016-12-24 8 views
0

FFMPEGを使用してディレクトリ内の* .MTS拡張子を持つすべてのファイルを変換するバッチファイルを実行しています。バッチファイルの出力ファイル名を制御する方法は?

for %%A in (*.MTS) do ffmpeg -i "%%A" -vcodec copy -acodec pcm_s16le -ar 48000 -ac 2 "newfiles\%%A.mov" 
pause 

出力ファイルは、newfilesというディレクトリに移動します。変換は問題なく行われます。問題は、入力がファイル名.MTSの場合、出力はファイル名です.MTS.mov

バッチファイルを変更してname.MTSの入力でname.movを出力するにはどうすればよいですか?

+3

「NEWFILES \ %%〜nA.mov」 – elzooilogico

+0

あなたはコマンドのドキュメントを読めば、あなたが使用しようとしているのに役立ちます使用します。for /?の出力から、 。 – Squashman

答えて

2

通常のループ変数forに加えて、構文を使用して出力を変更することもできます。

%~I   - expands %I removing any surrounding quotes (") 
%~fI  - expands %I to a fully qualified path name 
%~dI  - expands %I to a drive letter only 
%~pI  - expands %I to a path only 
%~nI  - expands %I to a file name only 
%~xI  - expands %I to a file extension only 
%~sI  - expanded path contains short names only 
%~aI  - expands %I to file attributes of file 
%~tI  - expands %I to date/time of file 
%~zI  - expands %I to size of file 

だからあなたの場合には、あなたがnewfiles\%%~nA.mov

関連する問題