rmdir avec exception - Shell/Batch - Programmation
Marsh Posté le 29-09-2005 à 17:22:07
Salut,
- si le dossier ne contient pas un fichier en cours d'usage, tu peux le déplacer ailleurs temporairement puis le remettre après la suppression (toujours dans le batch si tu veux).
- sinon, tu peux passer par une vérif de nom (comparaison de chaînes de caractères)
Marsh Posté le 29-09-2005 à 18:56:29
Salut nglechau,
merci pour ta réponse
pourrais-tu me donner plus ample détail concernant la vérif de nom? car je sais pas du tout comment précéder pour le faire.
Merci d'avance
Marsh Posté le 29-09-2005 à 19:33:02
C'est une simple comparaison des chaînes de caractères : tu tapes
if /?
à l'invite de commandes pour connaître la syntaxe.
Marsh Posté le 29-09-2005 à 23:14:01
bein je sais qu'il faut la condition j'avais déjà fait if /? sous dos pour voir les différentes options mais je vois vraiment pas
Marsh Posté le 30-09-2005 à 11:00:19
le nom de dossier à ne pas supprimer c'est FlexNet72, mais malheureusement les autres dossiers n'ont pas toujours le même nom,
sinon j'aurais fait un rmdir des autres dossier
Marsh Posté le 30-09-2005 à 11:15:59
Bien sûr.
C'est pour un traitement généric qu'on a besoin d'automatiser la tâche.
Regarde dans l'aide pour :
- la commande dir
- la commande for
pour lister et récupérer le nom des sous-dossiers d'un dossier donné.
Regarde la commande if pour la comparaison.
Une recherche dans ce forum même peut également t'aider.
Marsh Posté le 30-09-2005 à 15:51:54
Slt nglechau, merci pour ta réponse, tu m'as fait penser à une idée que je vais tester,
Peut-être faire un dir du dossier cible dans une boucle for et de dire dans le script: si %var% NEQ à FlexNet72 rd %var%, et ainsi de suite, mais la syntaxe je sais pas trop par quoi commencer, j'avoue que j'y suis un peu perdu
for /F %%i IN ('dir c:\Program Files\Apriso\') DO rmdir /Q /S "c:\Program Files\Apriso\%%i"
je suis assez perdu lol, je suis sur que j'ai mis plein de bétises
Marsh Posté le 30-09-2005 à 16:26:23
Non, au contraire, tu es dans la bonne direction
Utilise
dir /a:d |
pour lister uniquement les dossiers et exclure les fichiers.
Poste ton script, même si ça ne marche pas encore, et on le corrige ensemble.
Pour l'instant, utilise
echo rmdir
au lieu de
rmdir
pour ne pas faire des bêtises
Marsh Posté le 29-09-2005 à 17:18:41
salut à tous,
dans un batch à moi sous xp, j'aimerais supprimer tous les dossiers du dossier ci-dessous
rmdir /S /Q "\\pcsgsbxp%var%\c$\Program Files\Apriso"
sauf le dossier FlexNet72 qui s'y trouve.
Quelqu'un aurait une idée?
Merci d'avance
Amicalement