首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在FOR循环中引用文件名的一部分?

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

Stack Overflow用户
提问于 2021-09-02 16:48:39
回答 1查看 34关注 0票数 0

尝试使用FFMPEG和FOR循环进行视频和音频的多路复用。我有一个装满文件的文件夹,如下所示

代码语言:javascript
运行
复制
movie1_audio.m4a
movie1_video.mp4
movie2_audio.m4a
movie2_video.mp4

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

代码语言:javascript
运行
复制
FOR %%A IN (*.mp4) DO (
    ffmpeg -i "%%~nA.mp4" -i "%%~nA.m4a" -vcodec copy -acodec copy -movflags faststart "output\%%~nA.mp4"
)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-02 17:37:31

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

代码语言:javascript
运行
复制
@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 ......
    )
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69034289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档