Listage de fichier

cs_frutix Messages postés 3 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 2 juin 2005 - 2 juin 2005 à 14:58
Sensei01 Messages postés 94 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 27 juin 2006 - 3 juin 2005 à 14:15
Hello,
j'aimerais créer un script qui permet...

1) Sélectionner par le bouton droit un dossier voulu (menu contextuel)
2) Lister les fichiers du dossiers sélectionné
3) Ouvrir un fichier texte et place la liste dedans?

MErci de votre aide

6 réponses

Sensei01 Messages postés 94 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 27 juin 2006
2 juin 2005 à 16:23
Sensei01

slt,

tu peux utiliser un FileBrowser pour sélectionner ton dossier source, puis par recurssivité tu parcour les fichiers et les sous-dossier, pour chaqu'un tu recupere le nom et tu l'inscrit dans un fichier !!! c pourtant simple !!! LOL

...

je plaisante, ce n'est pas hyper simple, mais ce n'est pas très compliqué.

voila un bout de code qui t'aidera pour la recurssivité. C'est un bout de code qui me sert a mettre a jour les fichiers d'un dossier a partir d'un autre dossier, donc tout ne t'interresse pas mais en retirant certaint truc tu tombes presque sur ce que tu recherche.


Private
Sub parcourir_dossier(
ByVal source
As
String,
ByVal destination
As
String)



' Définitions des variables



Dim DocEnCours
As
Object



Dim erreurcount
As
Integer



Dim fichier
As
String



Dim obj
As
Object



Dim dossier
As
Object



Dim sousdossiers
As
Object



Dim sousdossier
As
Object



Dim fichiersdudossier
As
Object



Dim fichierdudossier
As
Object



Dim newdestination
As
String



Dim newsource
As
String


DossierEnCoursBox.Text() = source


obj = CreateObject("Scripting.FileSystemObject")
'ceci déclare un objet permettant d'accéder aux système de fichiers


dossier = obj.getFolder(source)
'déclare l'objet dossier


sousdossiers = dossier.SubFolders
'déclare la liste des sous-dossiers



For
Each sousdossier
In sousdossiers
' pour chaque sous-dossier de cette liste de sous-dossiers



If
Not cancel
Then
'Si l'opération n'est pas annulé



Dim doss
As
String


doss = sousdossier.Name
' Récupère le nom du sous-dossier


newdestination = destination + "" + doss


newsource = source + "" + doss



If
Not Directory.Exists(newdestination)
Then


Directory.CreateDirectory(newdestination)
' crée le dossier



End
If



If
Not cancel
Then


parcourir_dossier(newsource, newdestination)
' Explore le sous-dossier


DossierEnCoursBox.Text() = source



End
If


Application.DoEvents()
'Redonne la main au système



End
If



Next
' sous-dossier suivant de la liste des sous-dossiers


fichiersdudossier = dossier.Files
' Récupère les fichiers du dossier



For
Each fichierdudossier
In fichiersdudossier



If
Not cancel
Then
'Si l'opération n'est pas annulé



Try


fichier = fichierdudossier.Name
' Récupère le nom du fichier


filenumber = filenumber + 1


ProgressBar.Value() = filenumber


ProgressLabel.Text() = "Progression : " +
CStr(filenumber) + " / " +
CStr(totalfile) + " fichiers"


ProgressLabel.Refresh()



If
Not File.Exists(destination + "" + fichier)
Then


InfoBox.Text() = "Copie du fichier : " + fichier


File.Copy(source + "" + fichier, destination + "" + fichier)
' copie le fichier



Else


InfoBox.Text() = "Le fichier '" + fichier + "' existe deja"



End
If



Catch ex
As Exception


erreurcount = erreurcount + 1
' Compte les erreurs


InfoBox.Text() =
CStr(erreurcount) + "ième erreurs : " + ex.Message



End
Try


Application.DoEvents()



End
If



Next



End
Sub

PS : désolé, as le temps de nettoyer le code de ce qui ne t'interresse pas

/******** Sans audance pas de gloire !! ********/
0
execrator Messages postés 16 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
3 juin 2005 à 09:14
ya une fichier .reg qui permet de faire ca, faut ajouter ca au registre :

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Folder\shell\Lister le rèpertoire\command]
@="command.com /c tree /f /a > %1\\listing.txt"
0
execrator Messages postés 16 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
3 juin 2005 à 09:19
ya une fichier .reg qui permet de faire ca, faut ajouter ca au registre :

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Folder\shell\Lister le rèpertoire\command]
@="command.com /c tree /f /a > %1\\listing.txt"
0
execrator Messages postés 16 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
3 juin 2005 à 09:20
ya une fichier .reg qui permet de faire ca, faut ajouter ca au registre :

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Folder\shell\Lister le rèpertoire\command]
@="command.com /c tree /f /a > %1\\listing.txt"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
execrator Messages postés 16 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
3 juin 2005 à 11:10
ya une fichier .reg qui permet de faire ca, faut ajouter ca au registre :

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Folder\shell\Lister le rèpertoire\command]
@="command.com /c tree /f /a > %1\\listing.txt"
0
Sensei01 Messages postés 94 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 27 juin 2006
3 juin 2005 à 14:15
Sensei01
????
je connais pas !!
ca marche comment ? ca fait koi exactement ?
comment on s'en sert ?

/******** Sans audance pas de gloire !! ********/
0
Rejoignez-nous