[Batch] Récupération erreur de copie fichier.

Résolu
thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai fait un Batch pour copier des fichiers de différents dosiers dans un dossier unique à partir d'un fichier texte.

Le problème que j'ai est que j'ai des erreurs de copie de certains fichiers et j'aurai voulu savoir comment faire pour récupérer dans un fichier txt les erreurs de copie.
Je met le code au cas ou.

@echo off 
echo "Enter File list Path"  
set /p FilePath= 
echo "Enter Local Drive" 
set /p LocalDrive= 
echo "Enter Destination Path" 
set /p FileDest= 
for /f "delims=" %%i in ('type %FilePath%') do ( 

copy "%%i" "%FileDest%" 1> logerreur.txt 

) 


comme je fait une bouche le
>1 logerreur.txt 
ne marche pas il se fait écraser constamment.

Cordialement
than



Wake me, when you need me ...

2 réponses

  1. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
     
    Bon bah auto réponse j'ai trouvé finalement.
    si ça intéresse voila la réponse :
    @echo off
    echo "Enter File list Path" 
    set /p FilePath=
    
    echo "Enter Destination Path"
    set /p FileDest=
    for /f "delims=" %%i in ('type %FilePath%') do (
    IF EXIST "%%i" (
    copy "%%i" "%FileDest%" )
    IF NOT EXIST "%%i" (echo "%%i" >> errorlog.txt)
    
    )

    le >> permet d'ajouter la ligne à un fichier.

    Merci zipe31 pour ta réponse rapide et ton aide :)
    2
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Le dos n'est pas ma tasse de thé, mais en toute logique est-ce que :

    copy "%%i" "%FileDest%" 2> logerreur.txt 
    ou

    copy "%%i" "%FileDest%" 1> logerreur.txt  2>&1

    Ne ferait pas l'affaire ?

    0
    1. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
       
      Non ça ne marche pas il efface le fichier à chaque nouvelle copie donc il reste que la dernière ligne.
      (et il ne me dis dans le log que '1 fichier copié' ou 'Le fichier spécifié est introuvable.' si le dernier fichier copié est manquant.)
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Et avec un double chevron ">>" :

      copy "%%i" "%FileDest%" 2>> logerreur.txt
      0
    3. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
       
      ça me produisait bien le log mais de toute la manipulation sans me donner le nom du fichier incriminé : juste copié ou erreur.
      0
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Peut être qu'en rajoutant une sortie verbeuse (/V) à la commande "copy" :

      copy /V "%%i" "%FileDest%" 2>> logerreur.txt
      0