Avant une variable

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
danakil
Batcheur débutant
Messages : 17
Enregistré le : 06 févr. 2009 13:25

Avant une variable

Message 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?
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: Avant une variable

Message 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
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
danakil
Batcheur débutant
Messages : 17
Enregistré le : 06 févr. 2009 13:25

Re: Avant une variable

Message 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.
Avatar du membre
Dodoche28
King Of Batch
Messages : 84
Enregistré le : 18 août 2010 17:07
Contact :

Re: Avant une variable

Message 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.
N'oublier pas de mettre [Résolu]. Le procéder est mis dans une annonce!
Répondre