Bonjour,

Je cherche à parcourir une arborescence de répertoire et dans chaque répertoire exécuter un autre script qui remplace le caractères "^" dans les nom des fichiers en "_".

c:/Dossiepere contient :
dossier1 --> dossier11 (avec des fichiers)
--> dossier111 (avec des fichiers)
--> dossier112 (avec des fichiers)
--> dossier12 (avec des fichiers)
--> dossier121 (avec des fichiers)
--> dossier122 (avec des fichiers)
--> fic13 (avec des fichiers)
--> dossier131 (avec des fichiers)
--> dossier132 (avec des fichiers)
--> fic14 (avec des fichiers)
--> dossier141 (avec des fichiers)
--> dossier142 (avec des fichiers)
Je veux récupérer donc la liste des dossiers pour passer en paramètre ce dossier à mon second script qui va lui remplacer le fameux caractère des noms de fichiers qui sont compte-tenu dans ce dossier.

Je suis grand novice dans le shell windows.
Mon problème c'est de récupérer dans ma boucle for les noms des sous-répertoires pour les passer à mon script ?

Merci de votre aide.

je suis parti de mon premier script qui marche pour un répertoire donné mais ne traite pas les sous-dossiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
REM ---les caractères à modifier ----- 
SET chartoreplace="^"
SET replacementchar="_"
REM --- Le repertoire à traiter ----
SET directory="C:\Documents and Settings\jrdeb\Mes documents\test_excard"

REM --- remise à zéro de mon ficher log ----
del switchchar.log

REM ---- j execute mon petit programme en java  ----
REM ---- pour le remplacement des caractères -----
java -cp jar/medica-1.0.0.jar;. com.medica.file.SwitchChar -d %directory% -i %chartoreplace% -o %replacementchar% >> switchchar.log
Voici les modifications que j ai effectué pour rendre le script récursif :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
REM ---les caractères à modifier ----- 
SET chartoreplace="^"
SET replacementchar="_"
REM --- Le repertoire à traiter ----
SET directory="C:\Documents and Settings\jrdeb\Mes documents\test_excard"
echo off

REM ---- ma boucle for pour passer sur l ensemble des sous dossiers ----
for /R %directory% %%f in (“.”) do 
java -cp jar/medica-1.0.0.jar;. com.medica.file.SwitchChar -d %directory% -i %chartoreplace% -o %replacementchar% >> switchchar.log