Probleme avec un batch

Fermé
kenny-77 Messages postés 65 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 6 juillet 2009 - 28 nov. 2008 à 11:57
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 28 nov. 2008 à 14:59
Bonjour tout le monde,
Voila je souhaiterais faire un petit programme batch permettant de rechercher tout les fichiers *.txt dans C:\Documents and Settings, puis de les copier dans un autre répertoire, est-ce possible?

3 réponses

kenny-77 Messages postés 65 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 6 juillet 2009 4
28 nov. 2008 à 12:15
up aidez svp :-)
0
Azraka Messages postés 252 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 5 juin 2014 13
28 nov. 2008 à 13:37
Je peux déjà te donner çà pour lister tous les fichier .txt mais je sais pas comment les copier ailleurs.. je vais chercher et je te tiens au courant.

cd C:\Documents and Settings
dir *.txt /s
pause


Edit : xcopy sert à déplacer des fichiers mais il faut l'utiliser comme ça je crois : tonFichier.txt xcopy (ici tes paramètres). Or en utilisant la méthode que je t'ai donné pour trouver tous les .txt je vois pas comment faire.. navré.
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
28 nov. 2008 à 14:59
Bonjour,

Je pense que ce code peut répondre au problème :

  ECHO OFF
CLS
SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions

     SET /A  nbF_copies=0
rem L'extension recherchée :
     SET    "ext=*"
rem Le dossier source :
     SET "chemin=C:\Documents and Settings\Christian\Mes documents\a1"
     CD    "%chemin%"
rem Le dossier cible :
     SET "dos_cpy=C:\Documents and Settings\Christian\Mes documents\Output"
rem Création du répertoire cible ???????
     IF  NOT EXIST  "%dos_cpy%"    (
         MD         "%dos_cpy%"    )
         
     FOR       /R    "%chemin%"        %%X       IN    (*.%ext%)    DO (
          SET        "nom_ext=%%~nxX"
          IF  NOT EXIST  "%dos_cpy%\!nom_ext!"                     (
               SET /A  nbF_copies+=1
              COPY /A    "%%X"             "%dos_cpy%"    /V /-Y)   )
rem /-Y (confirmation du remplacement des fichiers existants) est ici redondant 
rem       je l'ai quand même codé.
     ECHO.
     ECHO.
     ECHO.
     ECHO     %nbF_copies% fichier(s) copie(s) a partir de :
     ECHO.
     ECHO         "%chemin%"
     ECHO.
     ECHO.    vers :
     ECHO.
     ECHO.        "%dos_cpy%
     ECHO.
     ECHO.
     ECHO.


Inutile de te rappeler de sauvegarder tes dossiers avant toute utilisation, en test ou en réel, de ce code !
0