[Windows] Copie de fichiers sans arborescence

Discutez d'informatique ici !
rattlesnake
Membre Naturel
Messages: 29
Enregistré le: 15 Aoû 2014, 15:01

[Windows] Copie de fichiers sans arborescence

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 !!



Avatar de l’utilisateur
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

Avatar de l’utilisateur
messinmaisoui
Habitué(e)
Messages: 1897
Enregistré le: 24 Oct 2007, 14:52
Localisation: Moselle (57)

par messinmaisoui » 01 Mai 2015, 19:53

rattlesnake a écrit:J'ai essayé de voir ce que me proposait xcopy pour ça, mais en vain.

Quel est le pb avec xcopy ?
c'est vrai que sous windows j'aurais déjà essayé en ligne de commande
=>
http://windows.developpez.com/cours/ligne-commande/?page=page_5
Mon avatar me fait peur, est-ce normal docteur ?

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)


 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite