for 循环后的条件(批处理/CMD)



所以我目前有这个批处理可以转换每个.当前文件夹上的 MTS 使用 ffmpeg .MP4,但是完成后,我在文件夹中同时获得 .mp4 和 .mts。 我有 2 批,一批用于转换文件,另一批用于删除不需要的文件,但我在尝试将它们加入同一个批处理脚本时遇到问题。

转换器.bat:

for %%i in (*.MTS) do ffmpeg -i "%%i" -c:a libfdk_aac -b:a 256k "%%~ni.mp4"

删除.bat:

del /S *.MTS

请帮忙吗?

要"将它们加入批处理脚本",只需将它们写入同一个批处理脚本:

@echo off
for %%i in (*.MTS) do ffmpeg -i "%%i" -c:a libfdk_aac -b:a 256k "%%~ni.mp4"
del /S *.MTS

虽然我会推荐:

@echo off
for %%i in (*.MTS) do ffmpeg -i "%%i" -c:a libfdk_aac -b:a 256k "%%~ni.mp4" && del /S "%%i"

&&的意思是"仅当上一个成功时才执行以下操作",因此只有在转换成功时才会删除该文件。

(重新考虑del /s- 它将删除当前文件夹和所有子文件夹中的文件。一个简单的del "%%i"只会删除处理后的文件并将文件保留在任何子文件夹中(

最新更新