Probleme avec un batch

kenny-77 Messages postés 68 Statut Membre -  
cchristian Messages postés 928 Statut Membre -
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?

--
Le Savoir ne vaut que si il est partagé   
~~> Linux est à Windows ce que l'électricité serait au pétrole ! < ~~
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. kenny-77 Messages postés 68 Statut Membre 4
     
    up aidez svp :-)
    0
  2. Azraka Messages postés 265 Statut Membre 13
     
    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
  3. cchristian Messages postés 928 Statut Membre 131
     
    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