我有这个小脚本编译器返回错误“invalid switch -f”的问题。这引发了我一个循环: - |你可以帮帮我吗?非常感谢。
@echo off
set maxbytesize=2000000000
set /a c=1
setlocal ENABLEDELAYEDEXPANSION
FOR /f %%i in ('dir /b /a-d %D:\Temp\IKS\MAO\*.MP4%') do ffmpeg\bin\ffmpeg.exe -i %%i -c copy -bsf:v h264_mp4toannexb -f mpegts %%~ni.ts
FOR /f %%i in ('dir /b /a-d %D:\Temp\IKS\MAO\*.ts%') do (
if %%~zi GTR %maxbytesize% (
echo file '%%i' >> ts_list.txt
) else (
echo file '%%i' >> ts_list.txt
set /a c=c+1
ffmpeg\bin\ffmpeg.exe -f concat -i ts_list.txt -c copy output_!c!.mp4
del /f ts_list.txt
del /f *.ts
)
)
endlocal
答案 0 :(得分:3)
我建议您替换%
FOR /f %%i in ('dir /b /a-d HERE>> %D:\Temp\IKS\MAO\*.MP4% << HERE
FOR /f %%i in ('dir /b /a-d HERE>> %D:\Temp\IKS\MAO\*.ts% << AND HERE
每种情况都有"
。
可能就这样工作得更好......