Robocopy / copier fichiers sans les dossiers

Résolu
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais faire une copie de tous les .xls contenus dans une arborescence de dossiers, le hic c'est que je ne veux pas conserver cette arborescence.
Je souhaite retrouver tous les .xls copiés a la racine du fichier de destination.

Pour l'instant, mon robocopy ressemble à ça:

Robocopy "E:\DossierSource" "E:\Destination" *.xls /E /R:1 /W:1 /TEE /LOG:C:\log%STAMP%.log /DCOPY:T

Merci de votre aide.

Cdt

PS:
variable STAMP pour la date set "STAMP=%YYYY%-%MM%-%DD%"
A voir également:

3 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Bonjour,

J'ai pas testé mais ça devrait le faire comme ça :

cd /d "E:\DossierSource"

for /f "tokens=*" %%A in ('dir /b /s /a-d "*.xls"') do (

Robocopy "%%~A" "E:\Destination" /E /R:1 /W:1 /TEE /LOG:C:\log%STAMP%.log /DCOPY:T

)



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour barnabe0057 et merci pour ta réponse rapide.

C'est un bon début =) mais il y a quand même une erreur:

"
ERREUR 123 accès au répertoire sour E:/../machin Truc.xls
La syntaxe du nom de fichier, de répertoire ou du volume est incorrecte.
"

Peut-être dû au fait qu'il y ait des espaces dans le nom de fichier.

J'ai aussi du supprimer l'argument /LOG.

merci de ton aide.
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Je vais tester ça de suite.
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention  
 
Effectivement RoboCopy n'est pas adapté à la copie de fichiers, il copie des répertoires.

Il suffit d'utiliser la commande COPY ou bien XCOPY :

cd /d "E:\DossierSource"

for /f "tokens=*" %%A in ('dir /b /s /a-d "*.xls"') do (

copy "%%~A" "E:\Destination"

)
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Super, ça fonctionne.
Merci de ton aide.

Et en passant, je note que robocopy n'est pas adapté aux fichiers.

Juste une dernière chose, ce bat va être lancé tous les jours. Si le fichier déjà, il l'écrase? (c'est dû mons ce que je crois constater.)
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Oui il écrase, tu peux rajouter une condition IF NOT EXIST si tu ne veux pas que ça soit écrasé.
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Non, c'est bon comme ça.

Merci de ton aide.
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
De rien, bonne journée à bientôt peut-être.
0