我遇到与引用here类似的问题,但似乎我正在做的一切都是正确的,但仍然会发生这种情况。这是我的代码中的错误部分,目标是使用ffmpeg从一种文件格式转换为另一种文件格式:
set subfolder=converted
set source_ext=.avi
set target_ext=.mov
md %subfolder%
set path=%~dp0
setlocal enabledelayedexpansion
FOR %%I IN ("*!source_ext!") DO (
echo 1 %%I
set this_file=%%I
echo 2 !this_file!
set filename_new=!!this_file:%source_ext%=!!
set output=!path!%subfolder%\!filename_new!!target_ext!)
%ffmpegpath%\ffmpeg.exe -i "!this_file!" -vcodec copy -acodec copy "!output!"
echo CONVERTED !this_file!
)
我正在寻找的输出是:
1 file1.ext
2 file1.ext
CONVERTED file1.ext
1 file2.ext
2 file2.ext
CONVERTED file2.ext
1 file3.ext
2 file3.ext
CONVERTED file3.ext
奇怪的是,我得到的是:
1 file1.ext
2 file1.ext
1 file2.ext
2 file2.ext
1 file3.ext
2 file3.ext
CONVERTED file3.ext
我很难过!