Robocopy / copier fichiers sans les dossiers [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
samedi 12 juillet 2014
Statut
Membre
Dernière intervention
12 juillet 2017
-
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
-
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%"

3 réponses

Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
3 353
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.”
Messages postés
37
Date d'inscription
samedi 12 juillet 2014
Statut
Membre
Dernière intervention
12 juillet 2017

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.
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
3 353
Je vais tester ça de suite.
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
3 353 >
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020

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"

)
Messages postés
37
Date d'inscription
samedi 12 juillet 2014
Statut
Membre
Dernière intervention
12 juillet 2017

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.)
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
3 353
Oui il écrase, tu peux rajouter une condition IF NOT EXIST si tu ne veux pas que ça soit écrasé.
Messages postés
37
Date d'inscription
samedi 12 juillet 2014
Statut
Membre
Dernière intervention
12 juillet 2017

Non, c'est bon comme ça.

Merci de ton aide.
Messages postés
12650
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juillet 2020
3 353 >
Messages postés
37
Date d'inscription
samedi 12 juillet 2014
Statut
Membre
Dernière intervention
12 juillet 2017

De rien, bonne journée à bientôt peut-être.