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