Bonjour
J'ai créé un batch dos (XP SP3) utilisant "SETLOCAL ENABLEDELAYEDEXPANSION"
Le problème vient que lorsque je parcours un dossier contenant d'autres dossiers avec FOR /D, si le nom d'un sous-dossier contient "!" le batch plante avec l'erreur
"Le chemin d'accès spécifié est introuvable." alors qu'un simple dir le visualise sans problème...
A noter que j'ai bien ciblé le problème car si je remplace "!" par "§" dans le nom du sous-dossier le batch fonctionne sans problème.
Je suppose que cela vient de l'utilisation des variables !x! et à l'expansion retardée, mais j'en ai, hélas, besoin.
Quelqu'un a une solution ??? (mis à part renommer tous les sous-dossiers ayant un "!" évidemment !!!)
Pour info mon batch
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 @SETLOCAL ENABLEDELAYEDEXPANSION @SETLOCAL ENABLEEXTENSIONS FOR /D %%d IN (*) do ( cd %%d set n=0 FOR %%f IN (*.txt) do ( set /A "n+=1" ) rem ------------------------------ FOR %%f IN (*.txt) do ( if NOT "!n!" EQU "1" ( mkdir "%%~nf" ) "C:\Program Files\ExtCba\ExtCba.exe" "%%f" "." if NOT "!n!" EQU "1" ( move *.cba "%%~nf" ) rem ------------------------------ ) cd .. ) exit
PS:quelqu'un sait il aussi pourquoi mon batch refuse les noms de variable supérieurs à 1 caractère ??? http://www.developpez.net/forums/ima...s/headbang.gif
Merci d'avance
Th
Partager