suppression de dossiers avec fichier txt en paramètre

suppression de dossiers avec fichier txt en paramètre - Shell/Batch - Programmation

Marsh Posté le 27-10-2008 à 11:44:02    

Bonjour,
 
 
je souhaiterais supprimer une liste de dossier dans plusieurs répertoires, pour l'instant j'ai fait une version qui me les supprime lorsqu'ils sont en paramètre dans la commande
 
mais je souhaiterais le faire en utilisant un fichier txt qui contient la liste des répertoires, un dossier par ligne.
ex du fichier txt
dossier1
dossier2
dossier3
 
 
 
Pour l'instant j'ai ce code là
Citation:
cd C:\tmp\user
RD /S /Q dossier1 dossier2 dossier3 dossier 4
 
cd C:\tmp\docs
RD /S /Q dossier1 dossier2 dossier3 dossier 4
 
cd C:\tmp\mails
RD /S /Q dossier1 dossier2 dossier3 dossier 4
je souhaiterais donc ne pas avoir a mettre le nom des dossiers en paramètre mais utiliser directement le fichier txt.
 
merci d'avance.

Reply

Marsh Posté le 27-10-2008 à 11:44:02   

Reply

Marsh Posté le 27-10-2008 à 13:55:31    

Fichier de test :


dossier1
dossier2
c:\dossier3
dossier0


 
 
 
Fichier batch à améliorer ;))


@EcHo Off
 
For /f "tokens=*" %%a In (test.txt) Do (
RD  /s /q "%%a" >NUL
 )

Reply

Marsh Posté le 27-10-2008 à 14:29:13    

Merci mais j'ai un message d'erreur.

 

Le chemin d'accès spécifié est introuvable.

 

il ne trouve pas le fichier, pourtant il se trouve au bon endroit.


Message édité par raynox710 le 27-10-2008 à 14:39:52
Reply

Marsh Posté le 27-10-2008 à 16:11:27    

bonsoir,
 
je crois que ceci est dû ou bien à l'utilisation de guillemets dans les chemins longs des dossiers  ou bien l'utilisation de variables..
essaye ceci si ça ne marche pas alors verifie si tu as un chemin d'accès contenant une variable d'environement telque:
%UserProfile%\doc\dossier
 
remplace la par "son contenu" et ça doit marché
 

@EcHo Off
 
For /f "tokens=*" %%a In (test.txt) Do (
    IF EXIST  "%%~a" RD /S /Q "%%~a"
 )  

Reply

Marsh Posté le 27-10-2008 à 16:30:19    

apparemment, cette fois il trouve bien le fichier(plus de message d'erreur), mais il ne supprime pas les dossiers qui se trouvent dans le fichier test.txt, les dossiers sont séparés par des espaces.

Reply

Marsh Posté le 27-10-2008 à 16:37:58    

raynox710 a écrit :

apparemment, cette fois il trouve bien le fichier(plus de message d'erreur), mais il ne supprime pas les dossiers qui se trouvent dans le fichier test.txt, les dossiers sont séparés par des espaces.


 
dans mon cas :
 

dossier0
D:\hello world\3 p\dossier1
c:\sub folder\dossier2


 
fonctionne bien même avec les espaces !!

Reply

Marsh Posté le 27-10-2008 à 17:14:56    

j'ai fait avec ton fichier, ca a marché.
 
merci ;)

Reply

Sujets relatifs:

Leave a Replay

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