Fichier batch

Résolu
Bonjour,
J'ai un truc que j'aimerai savoir c'est comment par exemple supprimer tt les fichiers .doc d'un répertoire ( jusque là je sais faire ) mais sauf 1 ! que l'utilisateur met en paramètre ( %1)

@echo off
echo Voulez vous supprimer tt les fichier.doc sauf celui en parametre?(crtl-C annuler)
pause

Apres je sais pas...
Configuration: Windows XP
Firefox 3.0.5

4 réponses

  1. Hello Kent

    Un moyen très simple est de renommer l'extension du fichier que tu veux garder ( par ex. "_oc" ), supprimer tous les fichiers "*.doc" et renommer l'extension du fichier en "doc" :

    ren %1.doc %1._oc
    del *.doc
    ren %1._oc %1.doc

    et le tour est joué.

    Bonne Année 2009

    JF
    1. autre prob,

      sachant que G: est ma clef usb et que %1 est un fichier encoder par l'utilisateur
      mes étiquettes ne marche pas je comprend pas pourquoi !elle s'affiche toutes quant le bat a fini de s'executer !

      @echo off
      IF "%1"=="" GOTO casevide
      echo Voulez vous copier les fichiers?
      pause
      if not exist GOTO existepas
      IF EXIST %1 GOTO existe
      xcopy/-Y G:\%1 C:\
      GOTO fin
      
      :fin
      echo transfère ok !
      
      :existe
      echo Le fichier existe déja !
      
      :casevide
      echo mauvaise synthaxe !
      
      :existepas
      echo le fichier n'existe pas !
      echo on 
      1. Re-hello

        Les étiquettes s'affichent parce que le reste du script est executé bien que le goto a été exécuté correctement. Pour corriger la chose, il faut soit :
        a) mettre un exit après la dernière commande qui doit être exécutée
        b) mettre une une étiquette "sortie" tout à la fin du script et mettre un goto sortie après la dernière commande qui doit être exécutée.

        @echo off
        IF "%1"=="" GOTO casevide
        echo Voulez vous copier les fichiers?
        pause
        if not exist GOTO existepas < ----- il y a une erreur ici aussi, il faut indique ce qui n'existe pas ( %1 )
        IF EXIST %1 GOTO existe
        xcopy/-Y G:\%1 C:\
        GOTO fin

        :fin
        echo transfère ok !
        goto sortie ( "goto sortie" peut être remplacé par "exit" )

        :existe
        echo Le fichier existe déja !
        goto sortie ( "goto sortie" peut être remplacé par "exit" )

        :casevide
        echo mauvaise synthaxe !
        goto sortie ( "goto sortie" peut être remplacé par "exit" )

        :existepas
        echo le fichier n'existe pas !
        echo on
        ( ici pas besoin de "goto sortie" vu qu'on est à la fin du script )
        :sortie

        Bonne Année 2009

        JF