Page 1 sur 1

Copie de fichiers sans arborescence

Posté : jeu. 30 avr. 2015 12:09
par rattlesnake
Bonjour à tous,

Je cherche le moyen de copier l'ensemble des fichiers de répertoires, sous-répertoires etc. dans un même et unique répertoire de sortie.
J'ai essayé de voir ce que me proposait xcopy pour ça, mais en vain.
La recherche de fichiers en tapant "*" pour lister l'ensemble du contenu n'est pas envisageable car trop lente chaque dossier contient des Gigas de données et c'est une opération que je dois répéter assez souvent après chaque nouvelle acquisition de données.
En gros si j'ai Dossier0/Dossier1/Dossier2/Dossier3, et que dans Dossier0 il y a également des fichiers en plus de Dossier1 et idem pour les sous-répertoires je veux avoir tant les fichiers qui sont dans Dossier0 que ceux dans Dossier3 tous réunis directement dans un même dossier de sortie DossierOUT sans arborescence.

Merci d'avance !!

Re: Copie de fichiers sans arborescence

Posté : jeu. 30 avr. 2015 13:50
par Invité
Bonjour,

Il faudrait qu'on connaisse la commande exacte de XCOPY mais, tu peux visionner ceci:

-> xcopy copier fichiers sans créer arborescence
-> La ligne de commande Windows et les fichiers batch

Re: Copie de fichiers sans arborescence

Posté : jeu. 30 avr. 2015 15:58
par Little Boy62
Salut.

Le plus simple, c'est de faire une recherche de tous les fichiers dans une boucle (FOR) et si résultat, tu copies chaque élément trouvé dans un unique dossier.

Comme ceci :
Code : Tout sélectionner
@echo off
cls
set dir="C:\Users\thomas\desktop\dossier1"
set newdir="C:\Users\thomas\desktop\dossier2"
REM Si tu veux supprimer le dossier newdir avant : rd /q /s %newdir%
mkdir %newdir%
REM COPIE
for /f %%f in ('dir /b/s "%dir%"') do copy /Y "%%f" %newdir%
explorer.exe %newdir%
Une petit vidéo de ce script : https://a.pomf.se/rehecj.mp4


++

Re: Copie de fichiers sans arborescence

Posté : ven. 1 mai 2015 21:25
par Little Boy62
Slaut.

Je viens de voir que j'ai oublié un élément.
Sans ça, ça ne prend pas en compte les chemins avec espace.

Voici le nouveau script :
Code : Tout sélectionner
@echo off
cls
set dir="C:\Users\thomas\desktop\dossier1"
set newdir="C:\Users\thomas\desktop\dossier2"
REM Si tu veux supprimer le dossier newdir avant : rd /q /s %newdir%
mkdir "%newdir%"
REM COPIE
for /f "tokens=*" %%f in ('dir /b/s "%dir%"') do copy /Y "%%f" "%newdir%"
explorer.exe %newdir%

++