Windows.fichier bat la façon récursive de la liste de tous les fichiers de type *.mp3

bonjour, je voudrais de façon récursive liste le chemin d'accès absolu à tous les fichiers qui se terminent par des mp3 à partir d'un répertoire donné qui doit être considéré comme relatif au répertoire.

je voudrais ensuite strip également le répertoire du fichier et j'ai lu que les variables qui sont dans un champ d'application doit être placé dans !s. est ce que le droit?

mon code ressemble à ceci:

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

merci!

24
demandé sur clamp 2010-06-01 19:32:00

3 réponses

Comment au sujet de la commande DIR...

dir /s/b *.mp3

... la commande ci-dessus va rechercher le chemin courant et tous ces enfants. Pour obtenir plus d'informations sur la façon d'utiliser cette commande ouvre une fenêtre de commande et tapez DIR /?

65
répondu Matthew Whited 2015-09-21 19:03:51

Ce fichier batch montre comment extraire des éléments d'un nom de fichier à partir de la variable dans une boucle for. Enregistrez ceci en tant que listfiles.bat, puis lancez " listfiles some\folder *.mp3". J'ai configuré la recherche de fichier comme un sous-programme dans le fichier batch afin que vous puissiez l'insérer dans vos propres scripts.

Vous pouvez aussi exécuter " for/?"dans un shell cmd pour plus d'informations sur la commande for.

@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
5
répondu yoyo 2014-05-23 22:33:22

Vous pouvez ajouter les résultats dans un fichier avec " > [nom de fichier]'

1
répondu 2010-07-16 11:54:22