[Windows] Copie de fichiers sans arborescence
Discutez d'informatique ici !
-
rattlesnake
- Membre Naturel
- Messages: 29
- Enregistré le: 15 Aoû 2014, 15:01
-
par rattlesnake » 30 Avr 2015, 11:48
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 !!
-
WillyCagnes
- Membre Transcendant
- Messages: 3754
- Enregistré le: 21 Sep 2013, 20:58
-
par WillyCagnes » 30 Avr 2015, 12:51
bjr
dans la fenêtre "Executer" de windows:
tu tapes CMD
et voici la commande miracle sous dos
Dir
C'est la commande dir qui permet de lister les fichiers.
Cependant ce listage peut être fait selon un très grand nombre
de critères (ordre alphabétique, date, etc.),
ces critères peuvent être choisis par l'intermédiaire de paramètres :
/p : affiche le résultat en marquant des pauses à chaque page
/w : affiche le résultat sous forme de 5 colonnes
Pour afficher les fichiers selon un critère
/ah : affiche les fichiers cachés
/ad : affiche uniquement les répertoires (dir *.W marche aussi)
/ar : affiche les fichiers en lecture seule
/aa : affiche les fichiers prêts à être archivés
/as : affiche les fichiers systèmes
Pour afficher les fichiers selon un ordre trié
/ON : trié par nom
/OS : trié par taille croissante
/OE : trié par extension
/OD : trié par date
/OG : trié par répertoire en tête
/OA : trié par attribut
/s : affiche les fichiers d'un répertoire et de tous ses sous-répertoires
/b : présentation abrégée
/l : affiche le résultat en minuscules
/v : affiche des informations supplémentaires
Dir *.exe affiche tous les fichiers d'extension exe
Dir A.* affiche tous les fichiers commençant par A
? pour remplacer un caractère
* pour tout caractère
tree /A > C:\arbores.txt pour afficher la liste des repertoires dans un fichier nommé arbores.txt
-
joel76
- Membre Relatif
- Messages: 230
- Enregistré le: 11 Fév 2013, 16:31
-
par joel76 » 03 Mai 2015, 23:57
Ce petit bout de code Python devrait faire l'affaire je pense :
- Code: Tout sélectionner
import os, sys, shutil
from stat import *
def walktree(top, callback):
'''recursively descend the directory tree rooted at top,
calling the callback function for each regular file'''
for f in os.listdir(top):
pathname = os.path.join(top, f)
mode = os.stat(pathname).st_mode
if S_ISDIR(mode):
# It's a directory, recurse into it
walktree(pathname, callback)
elif S_ISREG(mode):
# It's a file, call the callback function
callback(pathname)
else:
# Unknown file type, print a message
print('Skipping %s' % pathname)
def copyfile(file):
shutil.copy(file, )
walktree(, copyfile)
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités