假设我想创建一个批处理文件。我处理视频文件,我使用这个众所周知的工具 MediaInfo。它在 Windows 上有一个 CLI 版本。
假设我想重命名文件夹中的一堆文件。所以我运行这个:
for /r %%i in (*.mkv) do call ren "%%i" "renamed_files.mkv"
所以它的作用是拾取.mkv
目录中的所有文件并重命名它。那太棒了。
但是,如果我只想重命名特定.mkv
文件而不是所有文件怎么办?例如,我有多个.mkv
文件有音频,有些没有。假设我只想重命名那些有音频的。所以要做到这一点,我需要使用一些解决方案来扫描/检测哪些文件有音频。为此,我想为什么不使用 MediaInfo CLI。所以我们运行这个命令:
mediainfo --inform="Audio;%ID%" file.mkv
它所做的一切,它打印2
出哪个是音轨的 ID,我们可以用它来确认音频存在并且.mkv
应该拾取文件进行重命名。如果没有音频,它什么也不打印,空行,所以应该跳过这些文件。
有道理,但我不知道如何将它包装在if
语句中并使其工作,因为它对我来说是全新的,我已经学习命令提示符和批处理文件 2 天了。
或者也许有人知道更好的解决方案。除了我对为此安装带有 GUI 的第 3 方软件不感兴趣。
干杯!