如何在 FOR 循环中引用文件名的一部分?

肖恩·麦克纳利

尝试使用 FFMPEG 和 FOR 循环复用视频和音频。我有一个文件夹,里面装满了看起来像这样的文件

movie1_audio.m4a
movie1_video.mp4
movie2_audio.m4a
movie2_video.mp4

我需要一种方法来只引用下划线之前的所有内容,而不是整个文件名。下面的脚本查找具有相同名称的匹配 .mp4 和 .m4a 文件以匹配在一起。我正在尝试修改它以查找在下划线之前具有相同名称的文件。

FOR %%A IN (*.mp4) DO (
    ffmpeg -i "%%~nA.mp4" -i "%%~nA.m4a" -vcodec copy -acodec copy -movflags faststart "output\%%~nA.mp4"
)

我知道我可以批量重命名我的文件来轻松解决这个问题,但是如果有一种方法可以批量只查看文件名的第一部分,我认为这些知识在未来的项目中可能会有用。谢谢!

壁球人

您只需要另一个使用其几个选项的嵌套 FOR 命令。我不知道你需要如何适应你的 FFMPEG 命令,所以我把它留给你。

@echo off
FOR %%A IN (*.mp4) DO (
    FOR /F "tokens=1,* delims=_" %%G IN ("%%~A") DO (
        REM %%G will be the file name before the underscore.
        REM %%H will be everything after the underscore
        ffmpeg ......
    )
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中提取CSV文件的文件名的一部分

如何删除文件名的一部分?

如何使用bash脚本删除文件名的一部分

如何重命名文件名的最后一部分

如何用stdin的输入替换文件名的一部分?

如何在Python中选择文件名的一部分(保留扩展名)?

如何在Windows 7中为许多文件删除文件名的同一部分?

当文件名是python中的变量时,如何更改文件名的一部分?

如何在 bash 脚本中使用 (basename "${video%.*}") 获取文件名的一部分?

如何在Logrotate上使用日期和时间作为文件名的一部分?

Mediawiki:如何在画廊中使用{{PAGENAME}}作为文件名的一部分?

如何将文件名的一部分转换为文件扩展名?

AWK - 如何从多个文件中提取匹配项,包括文件名的一部分

Bash:如何从for循环中的多个文件的数组中删除目录的第一部分?

如何将 Excel 文件名的一部分存储在 Python 整数变量中

如何在模板文件中替换变量名的一部分

在循环中时如何作为类名的一部分进行计算?

MySQL-如何使用文件名作为查询的一部分?

如何正确设计数据库的这一部分(循环引用?)

如何引用数组的一部分?

如何从列表中递归重命名一部分文件名?

如何使用find和awk提取一部分文件名

如何将一部分文件名导入字段

如何在Unix / Linux Shell脚本中提取一部分文件名

您如何获得%INCLUDE一部分中的Lotusscript声明中引用的文件

如何基于文件名的一部分创建文件夹,以及如何使用awk提取和重命名特定的列

如何从文件名中提取字符串的一部分并将其添加到该文件中

在批处理文件中,如何验证文件名的一部分与给定的字符串匹配?

如何将命令的输出写入多个文本文件,其中文件名基于命令输出的一部分?