Page 1 sur 1

Avant une variable

Posté : 17 déc. 2010 21:41
par danakil
Bonjour à tous!

J'ai un petit souci inattendu sur un batch et je tourne en rond pour trouver la réponse.
Dans un batch j'ai crée une variable %var% qui me sert à retrouver les chemins d'accés de fichiers ou dossiers en utilisant des boucles FOR sur mes différents lecteurs.

Ce que la variable me permet :
%var% --> me trouvera tous les correspondants
%var%.* --> me trouvera toutes les extensions associées à %var%

Mon problème :
Ce sont les possibilités avant %var% que je n'arrive pas à intégrer.
Exemple --> je recherche le dossier C:\_LEC
Je n'arrive pas à inclure à ma variable le symbôle (_) avant %var% - symbôle qui pourrait être (§) par exemple.

Existe-t-il une solution englobant tout ce qui peut-être avant une variable?

Re: Avant une variable

Posté : 19 déc. 2010 23:20
par Dodoche28
Bonsoir Danakil

Je ne pense pas que quelqu'un à compris ton problème... il n'est pas très explicite :D
Si c'est les caractères qui te pose problème (comme le: é ) tu peux utilisé le logiciel PowerBatch...
comme çà tu pourra redéfinir le caractère en un autre lisible en DOS

Re: Avant une variable

Posté : 20 déc. 2010 21:30
par danakil
Salut dodoche28!
Merci de me répondre.

Regarde ici, tu comprendras mieux :

Code : Tout sélectionner

for %%i in (C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Y,Z) do ( 
 if exist "%%i:\" set VrLec=%%i& call :detec %%i 
) 
goto finish0

:detec
for /r "%VrLec%:\" %%j in (%nom% %nom%.*) do if exist "%%j" echo %%j >> %systemdrive%\detect.txt
goto finish0
 
Un dossier nommé _LEC n'est pas du tout détecté.
Mon set /p nom= LEC (dans la recherche).
C'est ce symbôle (_) avant LEC que je n'arrive pas à intégrer dans la recherche.

Re: Avant une variable

Posté : 24 déc. 2010 00:16
par Dodoche28
Salut danakil
Là c'est plus compréhensible ^^

Code : Tout sélectionner

for %%i in (C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Y,Z) do (
 if exist "%%i:\" set VrLec=%%i
 for /r "%VrLec%:\%nom%" %%j in ("%nom%.*") do if exist "%%j" echo %%j >> "%systemdrive%\detect.txt"
 pause
)
goto finish0
Sa doit être sa je pense. Désolé de ne pas m'attarder trop dessus mais pour l'instant méga problème, mon logiciel pour réparer le registre a supprimer les associations de fichier --" du coup je suis obliger de me dirigé avec l'invite de commande :( même le logiciel pour restaurer le système ne fonctionne plus! quel poisse.