Подтвердить что ты не робот

Windows.bat как рекурсивно перечислить все файлы типа *.mp3

Привет, я хочу рекурсивно перечислить абсолютный путь ко всем файлам, которые заканчиваются mp3 из заданного каталога, который должен быть указан как относительный каталог.

Затем я хотел бы удалить также каталог из файла, и я прочитал, что переменные, которые находятся в области видимости, должны быть заключены в .s. это правильно?

мой текущий код выглядит следующим образом:

for /r %%x in (*.mp3) do (  
    set di=%%x
    echo directory !di!
    C:\bla.exe  %%x !di!
)

спасибо!

4b9b3361

Ответ 1

Как насчет команды DIR...

dir /s/b *.mp3

... вышеуказанная команда будет искать текущий путь и все эти дети. Чтобы получить дополнительную информацию о том, как использовать эту команду, откройте окно команд и введите DIR /?

Ответ 2

Этот командный файл демонстрирует, как извлекать элементы из имени файла из переменной в цикле for. Сохраните это как listfiles.bat, затем запустите "listfiles some\folder *.mp3". Я установил поиск файла в качестве подпрограммы в пакетном файле, чтобы вы могли вставить его в свои собственные скрипты.

Вы также можете запустить "для/?" в командной строке cmd для получения дополнительной информации о команде.

@echo off
setlocal enableextensions enabledelayedexpansion
call :find-files %1 %2
echo PATHS: %PATHS%
echo NAMES: %NAMES%
goto :eof

:find-files
    set PATHS=
    set NAMES=
    for /r "%~1" %%P in ("%~2") do (
        set PATHS=!PATHS! "%%~fP"
        set NAMES=!NAMES! "%%~nP%%~xP"
    )
goto :eof

Ответ 3

Вы можете добавить результаты в файл с ' > [filename]'