[Batch] ligne a ligne + supression

Fermé
nectar Messages postés 13 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 21 janvier 2009 - 30 mai 2007 à 15:21
nectar Messages postés 13 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 21 janvier 2009 - 31 mai 2007 à 10:33
Bonjour,

Je suis actuellement en stage réseau à la DIREN et
Je souhaite effectuer une automatisation trés simple :
supprimer tout les dossiers contenu sur un disque
chaque semaine (gestionnaire des tâches qui lancera le fichier batch)
a partir d'une liste en .txt
puis recréer les mêmes dossiers.

C'est un disque d'échange sur un gros réseau qu'il est nécessaire de purger régulièrement, actuellement la tâche n'est pas entièrement automatisée...

problème : je n'arrive pas à lire le fichier texte ligne par ligne, ni à assigner une action à effectuer pour chaque ligne.

voici mon code actuel :-------------------------------------------

--générer la liste de tout les dossiers contenu dans le dossier racine--

cd "C:\racine" 
dir /a:d /b > "C:\liste_dir.txt"


--lire le fichier ligne à ligne
--effectuer la suppression du dossier dont le nom est le contenu de la ligne lue
--recréer un dossier équivalent

for /f "delims=" %%a in ("C:\liste_dir.txt") do call :Supprim %%a

:Supprim
  rd /s /q ("C:\%%a")
  md ("C:\%%a")


-------------------------------------fin

j'ai conscience que ce n'est pas grand chose, mais je débute en batch...
c'est après maintes recherches que je m'en remets à vous...
merci d'avance

Yann




J'ai finalement, après d'autres recherches, opté pour ceci :

-------------------------------------------------------------------------
cd /d "C:\Documents and Settings\darletya\Bureau\racine"


for /f "delims=" %%a in ('dir /a:d /b') do rmdir /s /q "%%a"

-------------------------------------------------------------------------

cela marche bien, seulement ca ne marche que pour la suppression, or je souhaiterais recréer les dossiers avec le même nom...
y'a t-il une possibilité de forcer l'écriture d'un dossier avec mkdir ???

...

1 réponse

nectar Messages postés 13 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 21 janvier 2009
31 mai 2007 à 10:33
Finallement je m'en suis sorti autrement :

@echo off

 cd /d "C:\Documents and Settings\darletya\Bureau\racine\"
 del /s /q *.*
 for /f "delims=" %%a in ('dir /a:d /b /o:en') do del /s /q "%%a\*.*"


ça marche super bien pour supprimer tout sauf les repertoires utilisateurs.

Merci et Salut
0