gpt4 book ai didi

for-loop - 如何在批处理文件中执行此 CMD 脚本?

转载 作者:行者123 更新时间:2023-12-04 23:07:50 25 4
gpt4 key购买 nike

我正在尝试制作一个批处理文件,该文件在执行时会在文件夹中创建一个名为 VideosToJoin.txt 的文件列表,其中包含扩展名为 .mp4、.mts 和 .avi 的文件,然后继续对这些相同的文件进行 concat 创建最终一个名为 FinalVideo.mp4
我需要一些帮助,因为我想自动化一个特定的过程......

(for %i in (*.mp4,*.mts,*.avi) do @echo file '%i') > VideosToJoin.txt   

ffmpeg -f concat -i VideosToJoin.txt -c copy FinalVideo.mp4

预期的结果是通过只执行一个文件来获得最终视频,这就是我想要的,请帮忙。

最佳答案

CMD 脚本要求您将 FOR 循环上的百分号加倍。

此外,您将需要指定您希望脚本检查的目录,否则它只会检查当前目录,该目录通常是用户的主目录,但实际上可能是任意目录,具体取决于其他因素。

我猜您想将文件输出到脚本将检查的同一文件夹中,这样很容易,我们将使用 %~dp0 变量将临时视频文件存储到脚本所在的目录中。 %0指脚本本身,~dp告诉它返回脚本的驱动器和路径。

还要确定 FFMpeg 在您的路径中,或者在您的脚本中指定它的完整路径。

SET "_SrcPath=C:\Some\Folder\Path"
DEL /F /Q "%~dp0VideosToJoin.txt" 2>NUL

For %%i in (
"%_SrcPath%\*.mp4"
"%_SrcPath%\*.mts"
"%_SrcPath%\*.avi"
) do (
echo file '%%i'
)>>"%~dp0VideosToJoin.txt"

ffmpeg -f concat -i "%~dp0VideosToJoin.txt" -c copy "%_SrcPath%\FinalVideo.mp4"

关于for-loop - 如何在批处理文件中执行此 CMD 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57961606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com