Пакетный файл Windows для удаления аудиофайлов с требованием длины

#windows #batch-file #audio

#Windows #пакетный файл #Аудио

Вопрос:

и спасибо за любую помощь. Я попытался найти пример того, как выполнить следующее, но ничего не нашел. Буду признателен за любую помощь, поскольку у меня нет опыта создания файла BAT!

У меня есть сторонняя программа, которая записывает аудио и генерирует из него файл .mp3. Каждые 24 часа он создает новую папку и начинает процесс заново. Проблема в том, что даже малейший фрагмент звука создаст файл .mp3. У меня остались тысячи файлов .mp3, которые длятся менее 1 секунды. Я хотел бы удалить все аудиофайлы во всех подкаталогах длиной менее 2 секунд. Как я могу это сделать, и является ли файл BAT правильным способом для этого? Ручной способ сортировки файлов во многих, многих каталогах — это очень трудоемкий процесс, поскольку файлы будут сгенерированы за 20-30 дней до того, как я смогу их просмотреть.

Комментарии:

1. Пакетный файл — неправильный способ сделать это. Попробуйте поискать стороннее программное обеспечение, предназначенное для управления аудиофайлами.

2. @Monacraft Есть инструмент командной строки, который упрощает это, Мона.

3. Спасибо всем за ответы, я ценю ответы! Я немного смущен тем, почему он был приостановлен, потому что я специально спросил, как это можно сделать с помощью файла BAT.

Ответ №1:

For a GUI solution: Условно-бесплатный Total Commander без ограничений может отображать полное дерево каталогов (элемент управления B) и сортировать по размеру файла (элемент управления F6), а также может отображать только файлы MP3, если это необходимо.

Для выполнения этой задачи вам просто нужно будет отметить файлы размером менее x МБАЙТ на одной панели, а затем вы сможете удалить их все сразу.

Доступно другое решение batch file для удаления файлов MP3 2.999 в секундах или ниже:
— измените [210] на [10], чтобы удалять файлы до 1.999 секунд.

Скачать Mediainfo command line version с SourceForge
Измените путь к исполняемому файлу в строке 2 ниже
Запустите этот пакетный файл в главной папке дерева файлов
, если команды del, которые вы видите на экране, верны, затем удалите echo и запустите его снова, чтобы удалить файлы.

 @echo off
set "exe=c:UtilMediaInfoMediaInfo.exe"
for /r %%a in (*.mp3) do (
"%exe%" -f "%%a" |find "Duration" | findstr /r ": 00:00:0[210]" >nul amp;amp; echo del "%%a"
)
pause
 

Комментарии:

1. Джон, небольшая поправка: [210] фактически будут удалены файлы длиной до 2,999 секунд, поэтому, если вы измените его на [10] него, будут удалены файлы длиной до 1,999 секунд. На самом деле процедура просто ищет последовательность после Duration : 00:00:0x , где x равно 2, или 1, или 0, и она имеет конечные цифры в доли секунды.

2. Мне пришлось изменить «: 00:00:0[210]» чтобы «00:00:0[210]» чтобы это работало для меня, но я использовал его для файлов .wav, как я мог сделать так, чтобы он удалял файлы в течение 3 секунд v.s. под3 секунды?