Signaler

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

Posez votre question BaZHik 37Messages postés samedi 12 juillet 2014Date d'inscription 12 juillet 2017 Dernière intervention - Dernière réponse le 12 juil. 2017 à 12:21 par barnabe0057
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%"
Afficher la suite 
Utile
+0
plus moins
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.”
Donnez votre avis
Utile
+0
plus moins
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.
barnabe0057 11331Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 19 juillet 2017 Dernière intervention - 12 juil. 2017 à 11:05
Je vais tester ça de suite.
Répondre
barnabe0057 11331Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 19 juillet 2017 Dernière intervention - 12 juil. 2017 à 11:19
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"

)
Répondre
Donnez votre avis
Utile
+0
plus moins
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.)
barnabe0057 11331Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 19 juillet 2017 Dernière intervention - 12 juil. 2017 à 11:48
Oui il écrase, tu peux rajouter une condition IF NOT EXIST si tu ne veux pas que ça soit écrasé.
Répondre
BaZHik 37Messages postés samedi 12 juillet 2014Date d'inscription 12 juillet 2017 Dernière intervention - 12 juil. 2017 à 12:05
Non, c'est bon comme ça.

Merci de ton aide.
Répondre
barnabe0057 11331Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 19 juillet 2017 Dernière intervention - 12 juil. 2017 à 12:21
De rien, bonne journée à bientôt peut-être.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !