Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1114 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] reproduire une arborescence !!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] reproduire une arborescence !!

n°231976
stef_dober​mann
Personne n'est parfait ...
Posté le 21-10-2002 à 18:54:17  profilanswer
 

:hello:
Je cherche à reproduire une arborescence  :sweat: !!
une idée  :??: un modul  :??: une fonction toute faite  :D  
je prend tout  :lol:  
 
En Perl pour l'instant, en Perl/TK plus tard


---------------
Tout à commencé par un rêve...
mood
Publicité
Posté le 21-10-2002 à 18:54:17  profilanswer
 

n°232234
Aricoh
gentil mais fo po pousser
Posté le 22-10-2002 à 08:33:32  profilanswer
 

stef_dobermann a écrit a écrit :

:hello:
Je cherche à reproduire une arborescence  :sweat: !!
une idée  :??: un modul  :??: une fonction toute faite  :D  
je prend tout  :lol:  
 
En Perl pour l'instant, en Perl/TK plus tard




 
En gros, tu as une arborescence contenant des répertoires, des fichiers, etc. Dans tes réps, tu peux trouver d'autres rép, des fichiers, etc.
 
Moi, j'ai 2 idées pour toi :
 
1) si tu es sous NT, il me semble qu'il y a une commande Dos puissante qui peux te copier un répertoire + ses répertoires fils et tous les fichiers qui vont avec.
 
2) tu te crées une fonction récursive à utiliser pour chaque répertoire : pour chaque rép trouvé, tu utilises cette fonction.
 
Mais bon, je reconnais que c'est chaud, ton truc !  :(


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°232273
stef_dober​mann
Personne n'est parfait ...
Posté le 22-10-2002 à 10:35:07  profilanswer
 

merci mes pour ca j'utilise la fonction FIND qui ce trouve sur un modul elle me sort deja tous les fichiers et leurs emplacement :D  
 
mon soucis est comment de stocké ces informations et surtout pouvoir les reformer !!, pour l'instant j'ai une table MySQL
 
qui contient :
- un identifiant,
- le nom du fichier,
- son enmplacement,
- sa taille
 
je voulais savoir q'il y avait une autre methode plus facile car la je bosse par rapport à l'emplacement du fichier et c pas evident  ;)


---------------
Tout à commencé par un rêve...
n°232275
Aricoh
gentil mais fo po pousser
Posté le 22-10-2002 à 10:37:44  profilanswer
 

Ah ! Ben dans ce cas, ça devrait être plus fastoche pour toi.
 
1ère étape : tu récupères la liste des répertoires à créer et tu fais du mkdir à tout va.
 
2ème étape : via le module File:Copy, tu copies tes fichiers du rép source vers le rép destination.


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°232290
stef_dober​mann
Personne n'est parfait ...
Posté le 22-10-2002 à 11:06:41  profilanswer
 

c juste pour les afficher ensuite,
mais c bon je crois avoir une solution
utiliser les hash, verifier si la clef existe (la clef etant lenom du rep) si elle exsit lui donner c valeur + les nouvelles
sinon la créer
 
mais pour lire ensuite chuis obligé d'utiliser des boucleet des split
 
mais bon je fait avec pour l'instant


---------------
Tout à commencé par un rêve...
n°232292
Aricoh
gentil mais fo po pousser
Posté le 22-10-2002 à 11:08:52  profilanswer
 

Si j'ai bien compris la structure de ta table dans MySql, tu as un champ pour l'emplacement du fichier et un champ pour le fichier lui-même ?
 
Personnellement, je procéderais comme suit :
 
1) faire une extraction des 2 champs concernés (voir + haut)
2) isoler les données des répertoires, les charger tous dans un hash et faire ensuite :

Code :
  1. foreach my $Rep(%Rep) {
  2.     if (! -d $Rep) {
  3.         mkdir($Rep);
  4.     }
  5. }


3)via le module

Code :
  1. use File::Copy;

, faire la copie de tous tes fichiers :

Code :
  1. copy("$AncienRep\\$Fichier", "$NewRep\\$Fichier" );


 
Avec bien entendu une 'tite gestion d'erreurs pour la création des répertoires comme celle des fichiers.


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°232507
stef_dober​mann
Personne n'est parfait ...
Posté le 22-10-2002 à 16:38:23  profilanswer
 

ya pas de mkdir, c pas pour créer des répertoires mais pour faire une gestion de compilation, la question que je me pose tous le temps est : Mais ou j'ai mis ce Put1 de fichier de M :gun: ? je c que je l'ai mais sur quel CD ?
 
voila  :p  
 


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] reproduire une arborescence !!

 

Sujets relatifs
Lancer une impression en perl/TK[PERL] Problème d'allocation de la mémoire
[Perl][win32] connaître le browser internet par défautArborescence des fichier et répertoire d'un disque dur
Perl en php ?lire et mettre un octet dans un tableau sous PERL
Utilisation de Perl[PERL] Faire un script perl qui upload un fichier sur FTP.
perl/TK alignement de boutons 
Plus de sujets relatifs à : [Perl] reproduire une arborescence !!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR