gpt4 book ai didi

batch-file - FOR递归期间如何将文件保存到当前位置

转载 作者:行者123 更新时间:2023-12-04 23:13:24 26 4
gpt4 key购买 nike

我有一个批处理脚本可以递归地在文件上运行 ffmpeg。目前,该脚本将所有新文件保存到一个新创建的名为 Output 的目录中。相反,我想将新文件保存在与原始文件相同的位置。我想我会使用一个环境变量来显示在递归期间被遍历到的当前目录,但我找不到它。

SET /P i=Enter the file extension
md output
For /R %%a IN (*.%i%) DO ffmpeg -i "%%a" -c:v libx264 -crf 10 -pix_fmt yuv420p "output/%%~na.mp4"

该脚本工作正常,将文件保存为具有新扩展名的相同文件名,但将文件放在新的“输出”文件夹中。我尝试在 FOR 循环中使用 %cd% 设置一个新变量,但这不起作用。

最佳答案

... "%%~dpna.mp4"

应该这样做。

请注意,在 Windows 世界中, \是目录分隔符和 /是一个开关指标。 Windows 经常(但并非总是)进行翻译。最好使用正确的表格。

元变量修饰符记录在 for /? 下从提示。他们是 d对于 drive , p对于 path , n对于 namex用于扩展。 z会给你尺寸, s短名称, t日期戳, a属性和 f将在限制内产生完全限定的文件名)。请注意 path结果将包含前导和尾随 \但不是 \\ .

关于batch-file - FOR递归期间如何将文件保存到当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58173494/

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