如何用CMD批处理与FFmpeg移除文件名中的‘- DASH_V’字符
批处理脚本修改:移除输出文件名中的“ - DASH_V”后缀
你的批处理脚本目前会直接沿用输入文件的名称输出MP4,现在要去掉文件名里的 - DASH_V部分,可以通过批处理的字符串替换功能实现,修改后的完整代码如下:
@echo off :: set paths (no quotes) set ffmpeg=F:\Video\Ffmpeg\ffmpeg.exe set infolder=F:\Downloads set outfolder=F:\Video\Finished @echo. @echo on for %%f in (%infolder%\*.mp4) do ( set "input_name=%%~nf" setlocal enabledelayedexpansion set "output_name=!input_name:- DASH_V=!" "%ffmpeg%" -i "%%~dpnf.mp4" -c copy "%outfolder%\!output_name!.mp4" endlocal ) @echo off if errorlevel 1 pause @echo.
关键修改说明:
- 启用
enabledelayedexpansion:在for循环里动态修改变量时,必须开启延迟扩展才能正确读取实时更新的变量值 - 字符串替换:
!input_name:- DASH_V=!会把文件名中的- DASH_V片段替换为空字符串,直接得到纯净的filename部分 - 变量引用方式:延迟扩展模式下,需要用
!代替%来调用变量,确保变量值是循环中的最新结果
如果输入文件名里的 - DASH_V是固定后缀,这个替换逻辑完全适用,执行后输出文件就会变成filename.mp4。
内容的提问来源于stack exchange,提问作者user2498772
相关产品推荐
相关产品推荐

