[Batch] Lister des dossiers et sous dossiers. [Fermé]

Signaler
-
 roro -
Bonjour à tous, :)

Ma question est sans doute simple mais malgré mes nombreuses recherches, je ne parviens pas à trouver la solution... :(

Je voudrais simplement lister les noms des dossiers et sous-dossiers d'un répertoire afin d'effectuer quelques actions avec ces noms.

Je pense donc qu'il faut utiliser une boucle For /F mais je n'arrive pas à trouver la syntaxe exacte.

Quelqu'un peut-il m'aider ? :)

Merci. ;)


5 réponses

Merci à vous tous, j'ai trouvé la syntaxe exacte. :)

J'utilise :

for /f "delims=" %%a In ('dir /ad/b/s  "Dossier" ') Do (
		echo %%a
)


Ce qui permet de lister le nom et seulement le nom des sous répertoires de plusieurs niveaux d'un dossier. ;)
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci bcp, parfait. J'ai juste enlevé le /s pour ne pas descendre dans l'arborescence.
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 324
hello
@echo off
for /f "delims=" %%a In ('dir /b/s  "C:\Documents and Settings\dubcek\Mes documents" ') Do (
		echo %%a
)
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
125
Bonjour,

Je verrais bien quelque chose comme cela:

 CD "C:\Documents and Settings\utilisateur_2\Mes documents\_APPLI"
 FOR    /R     %%I       IN   (.)        DO                 (
     rem pour controles visuels en tests à la console.
     ECHO %%I              
     ECHO ______________ Nom du dossier/sous dossier: %%~nI )


Messages postés
4
Date d'inscription
dimanche 4 septembre 2011
Statut
Membre
Dernière intervention
4 septembre 2011

Bonjour.

Pour lister tous les répertoires de <monrepertoire> :

Utilise la commande find en lui indiquant que tu ne recherche que des répertoires (directory)

find <monrepertoire> -type d print

A+
je ne sais pas ce que tu veux exactement , mais try this

$lister /. : appel paramètre repertoire courant

#!/bin/sh

rep = $0

if : -f rep
then
echo rep
for i in 'ls rep'
do
if : -f i
then
echo $i
lister $i
done
fi
C'est du linux shell
Messages postés
34
Date d'inscription
jeudi 28 mai 2015
Statut
Membre
Dernière intervention
24 août 2016
4
Si tu te place dans le répertoire dont tu as besoin (avec cd C:\etc..), tu peux utiliser la commande tree pour afficher une arborescence des dossiers et sus-dossiers.


J'espère t'avoir aider !