Lister les fichiers d'un répertoire
Résolu
vayleme
Messages postés
91
Statut
Membre
-
barnabe0057 Messages postés 14329 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14329 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis bloqué dans le développement d'un programme en batch.
Je souhaite enregistrer dans des variables le nom de chaque fichier contenu dans un répertoire précis.
exemple de répertoire
-dossier1
-fichier 1.txt
-fichier 2.txt
-fichier 3.txt
je souhaite, récupérer dans des variables le nom de chaque fichier (tout les fichiers sont des .txt) .
a=fichier 1
b=fichier 2
...
Le nombre de fichier contenu dans le répertoire n'est pas fixe, c'est à dire que des fichiers seront créés régulièrement, et je ne souhaite pas devoir modifier mon programme afin d'ajouter une variable pour chaque fichier que je créé. le nombre de variable créés dois donc s'ajuster en conséquence.
J'espère que quelqu'un pourras m'aider ! =)
--
Cordialement,
Vayleme
Je suis bloqué dans le développement d'un programme en batch.
Je souhaite enregistrer dans des variables le nom de chaque fichier contenu dans un répertoire précis.
exemple de répertoire
-dossier1
-fichier 1.txt
-fichier 2.txt
-fichier 3.txt
je souhaite, récupérer dans des variables le nom de chaque fichier (tout les fichiers sont des .txt) .
a=fichier 1
b=fichier 2
...
Le nombre de fichier contenu dans le répertoire n'est pas fixe, c'est à dire que des fichiers seront créés régulièrement, et je ne souhaite pas devoir modifier mon programme afin d'ajouter une variable pour chaque fichier que je créé. le nombre de variable créés dois donc s'ajuster en conséquence.
J'espère que quelqu'un pourras m'aider ! =)
--
Cordialement,
Vayleme
1 réponse
-
Bonjour,
Tu peux faire comme ça :
@echo off
Setlocal enableextensions enableDelayedExpansion
set dossier=I:\Nouveau Dossier
cd /d %dossier%
set /a num=0
for /f "tokens=*" %%A in ('dir /b /a-d "*.txt"') do (
set /a num+=1
set fichier!num!=%%~nxA
echo fichier!num! = %%~nxA
)
pause
Endlocal
exit
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”