IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

[Batch] Tout supprimer sauf un répertoire


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Par défaut [Batch] Tout supprimer sauf un répertoire
    Bonjour,
    j'ai créé un fichier batch qui devra se lancer à chaque démarrage de Windows.

    Ce fichier a pour objectif de supprimer tout les fichiers/répertoires qui se trouveront dans: C:\temp

    J'ai seulement un "hic" c'est que dans C:\temp, un des répertoires ne doit absolument pas être supprimé.

    Voici mon fichier batch:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cd c:\Temp
    pushd %1
    del /q *.*
    for /f "Tokens=*" %%G in ('dir /B') do rd /s /q "%%G"
    popd
    Le répertoire qui se trouve dans le C:\temp qui ne doit pas être supprimé s'appelle VBE !

    Comment faire pour lui dire, supprime tout sauf un répertoire. Cela fais un bon moment que je cherche mais pour une fois Google et l'existant sur ce site ne m'aide pas beaucoup.

    Merci de votre aide

    Bonne soirée

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par frutix
    l'existant sur ce site ne m'aide pas beaucoup.
    Disons que pour consulter tous les posts cela prend un certains temps.
    Dans ton cas le "tous sauf" doit être codé en 2 passes :
    - la première récupére l'arborescence de c:\temp
    - la seconde supprime le contenu de chaque répertoire trouvé, ici tu testes ton nom de répertoire à éviter.

    Autre piste PowerShell...

  3. #3
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Bonjour, ceci devrai faire l'affaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cd c:\Temp
    pushd %1
    del /q *.*
    for /f "Tokens=*" %%G in ('dir /B') do if nor %%i==VBE rd /s /q "%%G"
    popd

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par koKoTis
    Bonjour, ceci devrai faire l'affaire
    Pas tout à fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    for /f "Tokens=*" %%G in ('dir /B /AD') do Call ::Proc %%G
    goto :EOF
    :proc
    if "%1"=="VBE" echo * ne traite pas VBE *
    echo traite %1
    goto :EOF
    A noter que les fichiers cachés et/ou systèmes ne sont pas pris en compte...

  5. #5
    Membre confirmé
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Par défaut
    Merci à tous pour vos réponses... cependant, avec les deux derniers scripts donnés par kokoTis et Laurent Dardenne les dossiers ne s'efface pas du tout. Est-ce normal?

  6. #6
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    ah oui j'ai fait une faute de frape:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cd c:\Temp
    pushd %1
    del /q *.*
    for /f "Tokens=*" %%G in ('dir /B') do if not %%i==VBE rd /s /q "%%G"
    popd

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par frutix Voir le message
    cependant, avec les deux derniers scripts donnés par kokoTis et Laurent Dardenne les dossiers ne s'efface pas du tout. Est-ce normal?
    Pour l'exemple que j'ai corrigé, effectivement il ne supprime rien car il ne contient pas d'instruction de suppression, jusqu'ici tout va bien. Je pensai que tu pouvais l'adapter...

    Au fait Kokotis tu as le droit de tester le code que tu proposes, tu gagneras du temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2014, 14h15
  2. batch pour supprimer un répertoire
    Par Jérémy Lefevre dans le forum Windows
    Réponses: 1
    Dernier message: 19/02/2007, 14h28
  3. Réponses: 4
    Dernier message: 08/08/2006, 12h47
  4. [SQL] Tout supprimé dans tout mes champ tout remettre à 0
    Par snakejl dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/06/2006, 17h12
  5. [RegEx] tout remplacer sauf ...
    Par prgasp77 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo