【发布时间】:2017-03-03 03:52:55
【问题描述】:
我正在创建一个 .bat 来删除目录中长度超过 3 秒的所有 .wav,我找到了this question that can be used to delete all .mp3's / .wav's under 3 seconds using MediaInfo,您将如何更改它以删除大于 3 秒的文件?不到3秒?您必须删除“回声”才能执行
@echo off
set "exe=MediaInfo.exe"
for /r %%a in (*.wav) do (
"%exe%" -f "%%a" | find "Duration" | findstr /r "00:00:0[210]" >nul && echo del "%%a"
)
pause
使用单个文件输出运行媒体信息:
Duration : 203
Duration : 203ms
Duration : 203ms
Duration : 203ms
Duration : 00:00:00.203
Duration : 00:00:00.203
Duration : 203
Duration : 203ms
Duration : 203ms
Duration : 203ms
Duration : 00:00:00.203
Duration : 00:00:00.203
Press any key to continue . . .
这些是 00:00:0[210] 下的文件,但我想定位 00:00:0[210] 以上的文件
【问题讨论】:
-
>是一个重定向命令,所以我并不惊讶它不起作用。我的电脑上没有任何 3 秒以下的音频文件,但我想你可以简单地将/v添加到findstr命令中。 -
在
FOR /F命令中捕获媒体信息输出,以便您可以解析出时间元素。 -
我没有媒体信息或任何音频文件可供测试。您必须向我们展示媒体信息的输出。请使用该信息更新您的问题。
-
好吧,您更新了您的问题,但没有使用我要求的信息。我需要澄清我的要求吗?
-
使用单个文件运行媒体信息。
标签: windows batch-file audio