FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide sur tout ce qui concerne le système d'exploitation Windows (toutes versions).
Règles du forum : Entraide sur tout ce qui touche au système d'exploitation Windows, toutes versions confondues : ralentissements, bugs, recherche d'une fonction...
Merci de préciser la version de Windows concernée.
Merci également de lire et de respecter la charte générale du forum.
  • Avatar du membre
  • Avatar du membre
Avatar du membre
par rattlesnake
#162526
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 !!
Avatar du membre
par Little Boy62
#162543
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


++
Avatar du membre
par Little Boy62
#162639
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%

++

Are you considering delving into the world of onli[…]

Présentation

Hello, Bienvenue sur FEI :) @+ Gabriel.

Bonjour :bonjour: Merci de m'accueillir sur votr[…]

Bonjour à tous, D'abord, désol&eacut[…]