Вы можете воспользоваться утилитой ffmpeg. Ее необходимо скачать и установить.
Базовая команда в командной строке, чтобы проверить один файл input.mp3 выглядит так:
ffmpeg -v error -f null - -i input.mp3 -f null - -
Если все файлы положить в один каталог input (чтобы лежали без вложенности), а рядом создать такой скрипт в виде bat-файла, то можно проверить файлы пакетно:
@echo off
setlocal enabledelayedexpansion
REM Указываем каталог с MP3 файлами
set "INPUT_DIR=input"
REM Проверяем, существует ли каталог
if not exist "%INPUT_DIR%" (
echo Каталог "%INPUT_DIR%" не найден.
goto :eof
)
REM Объявляем переменную для подсчёта файлов
set "total=0"
set "passed=0"
set "failed=0"
for %%F in ("%INPUT_DIR%\*.mp3") do (
set /a total+=1
echo Проверка файла: %%~nxF
REM Создаём временный файл для проверки
set "tempfile=%%~dpnxf_temp.mp3"
REM Пытаемся перекодировать файл в временный файл
ffmpeg -v error -i "%%F" -f mp3 -y "%tempfile%" >nul 2>&1
if errorlevel 1 (
echo Ошибка при проверке файла: %%~nxF
set /a failed+=1
) else (
echo Файл %%~nxF прошёл проверку.
set /a passed+=1
del "%tempfile%"
)
)
echo.
echo Итог:
echo Всего файлов: %total%
echo Пройдено успешно: %passed%
echo С ошибками: %failed%