Bonjour à tous,
Je souhaite lister tous les dossiers se nommant ".unreferenced" contenus dans un dossier 1.
Voici un exemple d'arborescence :
1
|-1.1
| |-.unreferenced
|-1.2
| |-1.2.1
| |-.unreferenced
Pour cela, j'utilise sans problème les commandes suivantes :
J'obtiens ce résultat, qui est satisfaisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 set log=C:\Users\flaval\Desktop\Result.txt FOR /F %%f in ('dir /S /B .unreferenced') do ( echo %%f >> %log%
Une fois cette liste obtenue, je souhaiterai récupérer la valeur du dossier père, soit pour :C:\Users\flaval\Desktop\1\1.1\.unreferenced
C:\Users\flaval\Desktop\1\1.2\1.2.1\.unreferenced
- C:\Users\flaval\Desktop\1\1.1\.unreferenced => valeur recherchée : 1.1
- C:\Users\flaval\Desktop\1\1.2\1.2.1\.unreferenced => valeur recherchée : 1.2.1
Je n'ai pas suffisamment de connaissances pour savoir comment faire cela.
J'ai essayé de, dans ma boucle for, me positionner sur le dossier fils, puis de faire un cd .., et ensuite, récupérer la valeur jusqu'au backslash "\", mais sans réussite.
Voici où j'en étais :
Mais le echo %CD% ne me retourne pas la valeur que j'attends (soit l'adresse du dossier père), mais me retourne la valeur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 set log=C:\Users\flaval\Desktop\Result.txt FOR /F %%f in ('dir /S /B .unreferenced') do ( echo %%f >> %log% cd %%f\.. echo %CD% >> %log% ) pause
C:\Users\flaval\Desktop
Vous remarquerez que je n'ai pas encore essayé de récupérer la valeur du dossier père (jusqu'au backslash), n'arrivant pas à faire apparaitre l'adresse du dossier père (d'autant plus que je ne sais pas comment faire pour récupérer cette valeur).
Voici pour info, tout le resultat du script :
C:\Users\flaval\Desktop\1\1.1\.unreferenced
C:\Users\flaval\Desktop
C:\Users\flaval\Desktop\1\1.2\1.2.1\.unreferenced
C:\Users\flaval\Desktop
Je remercie d'avance ceux qui prendront le temps de me lire et de m'apporter une aide![]()
Partager