Recuperer un resultat dans un fichier txt ..

Recuperer un resultat dans un fichier txt .. - Shell/Batch - Programmation

Marsh Posté le 06-10-2010 à 14:24:10    

Bonjour,
J'essaie actuellement de créé un batch pour supprimer un ficher sur plusieurs machines dont le chemin est diffèrent à chaque fois.
J'ai réussi à trouver le fichier et affiché le répertoire dans lequel il se trouve mais j'aimerais pouvoir exploiter le résultat par la suite ! Et ça, je n'y arrive pas.
J'ai un dossier "essai" avec deux sous-répertoires :  
- e789z : contient des fichiers
- e1245y : contient le fichier à trouver
 
Voici comment j'ai procédé :  
Recherche dans les sous-répertoires la présence du fichier et stocké le résultat dans un fichier texte : on part de E:\essai

Citation :


dir /s test.txt >resu.txt


me renvoi ceci :

Citation :


 Le volume dans le lecteur E s'appelle Donnees
 Le num‚ro de s‚rie du volume est xxxxxxx
 
 R‚pertoire de E:\essai\e789z
 
06/10/2010  12:06                 0 test.txt
               1 fichier(s)                0 octets
 
     Total des fichiers list‚sÿ:
               1 fichier(s)                0 octets
               0 R‚p(s)  21ÿ267ÿ914ÿ752 octets libres
 


 
Et moi je cherche à pouvoir exploiter le E:\essai\e789z qui est le chemin qui contient le ficher à supprimer pour pouvoir passer un :

Citation :


del chemin_trouver\fichieraeffacer.doc


 
Une idée ? J'ai regardé du côté de findstr mais rien pour l'instant .. !

Reply

Marsh Posté le 06-10-2010 à 14:24:10   

Reply

Marsh Posté le 07-10-2010 à 19:52:31    

déjà utilise dir /s /b test.txt >resu.txt  
 
ensuite une boucle for sur ce fichier pour exploiter le résultat.
ex : for /f %%i in (resu.txt) do echo %%i


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
Reply

Marsh Posté le 18-10-2010 à 14:36:32    

Bonjour,
Il y a un truc que je ne comprend pas ..  
La seconde commande est censé parcourir le fichier resu.txt.
Lorsque je la tape, il me met :  

Citation :


E:\essai>dir /s /b wrong.txt >resu.txt (le fichier contient bien le chemin!)
E:\essai>for /f %%i in (resu.txt) do echo %%i
%%i était inattendu => résultat de la commande :/

Reply

Marsh Posté le 18-10-2010 à 17:21:00    

Lancé depuis une ligne de commande il ne faut pas doubler le %
 
C'est uniquement dans un fichier batch qu'il faut mettre %%


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
Reply

Marsh Posté le 18-10-2010 à 17:51:28    

ça progresse :)  
Merci.
Il me reste plus qu'a trouver comment parcourir les sous-dossier commençant uniquement par un "e" (comme e4542x par exemple) et non tout les dossiers ! car sinon, parcourir tous les dossiers risquent d'être très longs !

Reply

Marsh Posté le 18-10-2010 à 18:48:41    

Dir /S /B /A(deux point)D e*  
pour lister tous les répertoires qui commencent par "e" [le (deux point) sers juste a éviter le smiley auto) :D


Message édité par breizhbugs le 18-10-2010 à 18:55:48
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed