Fichier batch

Résolu
kent -  
 kent -
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. jfr1784 Messages postés 73 Statut Membre 27
     
    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
    0
  2. kent
     
    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 
    0
    1. jfr1784 Messages postés 73 Statut Membre 27
       
      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
      0
  3. kent
     
    Alleluia merci JF !
    Bon année a toi ausis !
    0