begin process at 2010 02 10 17:31:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > SCANNER UN DISQUE

SCANNER UN DISQUE


 Information sur la source

Note :
7,14 / 10 - par 7 personnes
7,14 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Débutant Date de création :03/07/2003 Date de mise à jour :03/07/2003 17:51:34 Vu :5 923

Auteur : Jujufouq

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Bonjour tout l monde!

Bon, je sais, vous allez me dire que ce code est déjà sur le site.

Cependant, je crois que le mien est le plus simple à comprendre parmis tous.
Non-seulement il est simple, mais il est rapide aussi. Enfin, je sais qu'on peut faire plus rapide en laissant le FileSystemObject qui est assez lent, mais ce code fonctionne très bien.

J'ai dit qu'il est simple, parce qu'aussi, il n'y a aucune option comme choisir le disque, ou le dossier... on n'est pas obligé de scanner un disque, cela peut aussi être un dossier, il suffit de changer la string appropriée.

Alors, voici le code. Un bouton Command1 et puis c'est tout. Il met le résultat dans un fichier .txt dont il faut taper le nom à la demande, le fichier est dans le répertoire du programme mais bien entendu, cela aussi peut-être changé. D'ailleurs, presque tout peut être changé!

Allez, voici le code :  

Source

  • 'N'oubliez pas de référencer Microsoft Scripting Runtime à votre programme...!
  • Dim fso As New FileSystemObject
  • Dim OutPut As Object
  • Private Sub Command1_Click()
  • On Error Resume Next
  • '#Déclarations
  • Dim NomFichierLog As String
  • NomFichierLog = InputBox("Quel sera le nom du fichier?")
  • '#Affectations
  • Set OutPut = fso.OpenTextFile(App.Path & "\" & NomFichierLog & ".txt", ForWriting, True)
  • '#Exécution
  • Scan "C:\"
  • End Sub
  • Private Sub Scan(DossierEnCours As String)
  • On Error Resume Next
  • '#Déclarations
  • Dim Dossier As Folder
  • Dim SousDossier As Folder
  • Dim Fichier As File
  • '#Affectations
  • Set Dossier = fso.GetFolder(DossierEnCours)
  • '#Exécution
  • 'Fichiers
  • For Each Fichier In Dossier.Files
  • OutPut.WriteLine Fichier.Path
  • Next Fichier
  • 'Dossiers
  • For Each SousDossier In Dossier.SubFolders
  • OutPut.WriteLine SousDossier.Path
  • Scan SousDossier.Path & "\"
  • Next SousDossier
  • End Sub
'N'oubliez pas de référencer Microsoft Scripting Runtime à votre programme...!
Dim fso As New FileSystemObject
Dim OutPut As Object

Private Sub Command1_Click()
    On Error Resume Next
    
    '#Déclarations
    Dim NomFichierLog As String
    NomFichierLog = InputBox("Quel sera le nom du fichier?")
    
    '#Affectations
    Set OutPut = fso.OpenTextFile(App.Path & "\" & NomFichierLog & ".txt", ForWriting, True)
    
    '#Exécution
    Scan "C:\"

End Sub

Private Sub Scan(DossierEnCours As String)
    On Error Resume Next
    
    '#Déclarations
    Dim Dossier As Folder
    Dim SousDossier As Folder
    Dim Fichier As File
    
    '#Affectations
    Set Dossier = fso.GetFolder(DossierEnCours)
    
    '#Exécution
        
        'Fichiers
            For Each Fichier In Dossier.Files
                OutPut.WriteLine Fichier.Path
            Next Fichier
        'Dossiers
            For Each SousDossier In Dossier.SubFolders
                OutPut.WriteLine SousDossier.Path
                Scan SousDossier.Path & "\"
            Next SousDossier

End Sub
  

 Conclusion

Voilà.

J'ai dû rajouté le On Error Resume Next parce que Windows ne permet pas l'accès à tous les dossiers (en tout cas chez XP), et donc cela faisait une erreur et quittait le programme. Maintenant, le programme passe sans en tenir compte.

C'est tout.

Post Scriptum : Soyez indulgents s'il vous plait, je sais qu'il y a des sources comme ça sur le site, mais je crois qu'elle a droit de paraître aussi.

Bye,

Jujufouq  


 Sources du même auteur

Source .NET (Dotnet) LARGEUR ET LONGUEUR DE LA RÉSOLUTION DE L'ÉCRAN .NET
Source avec Zip DIRLISTBOX: EMPÊCHER L'ACCÈS AU DOSSIER SUPÉRIEUR
CE QU'EST APP.STARTMODE
XP:EN 1 LIGNE TROP SIMPLE:ETEINDRE, REDÉM ET LOGOFF
GAIN DE TEMPS (NIVEAU 0)

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture CHANGEUR D'ICONES par djgab21
Source .NET (Dotnet) DIRECTDISKACCESS par XelectroX
Source avec Zip Source avec une capture UTILITAIRE WAV, MID ET MP3 par SnkVrt

Commentaires et avis

Commentaire de ICIoBRa le 03/07/2003 21:04:26

10/10

Commentaire de max12 le 04/07/2003 03:49:05 administrateur CS

Déjà la p-ê, mais c'est surement le plus simple

Commentaire de Jujufouq le 04/07/2003 13:40:22

Wouah!!!!  Vous ne pouvez pas imaginer combien grande ouverte est ma bouche devant vos commentaires et cette note!!!
Je crois que j'avais trop peur de me faire mal critiquer...

Vous ne pouvez pas savoir combien cela me fait du bien, vos commentaires. Merci à tous les deux, je crois que vous m'avez vraiment touché!

Merci encore!

Commentaire de Base le 04/07/2003 13:55:44

Désolé de mettre un bémole... Mais il faut un runtime de plus... Perso, je trouve que VB en demande bien assez comme ça... 7/10 kan même pour la simplicité ;)

Commentaire de Neo.balastik le 31/07/2003 20:43:06

Autre bémole.  Un code plus court n'est pas forcément plus rapide.  Dans ce cas il utilise FSO, donc une référence de plus à une bibliothèqe propre a IE4 et plus haut.

Commentaire de Jujufouq le 31/07/2003 21:42:16

Ben oui, je sais, mais là si t'es pas content, t'avais qu'à lire ce que j'ai écrit avant et après le code, parce que je l'avais précisé. Merci de ne pas mettre des commentaires inutiles...

Commentaire de Neo.balastik le 31/07/2003 22:41:14

Désolé je n'avais pas bien lu ;O)  Mais de là à dire que mon commentaire est inutile, il y a une marge...  Tu savais que FSO était seulement disponible avec IE4 et plus ?

Commentaire de exatex le 19/03/2004 18:05:24

Bon code, j'avais des probleme avec FSO, et ca m'a permis de les regler! C'est simple et efficace.

merci.

Commentaire de jonath13 le 08/10/2004 14:59:45

Bon code 8/10

Commentaire de jonath13 le 08/10/2004 14:59:58

Bon code 8/10

Commentaire de nounours_du_45 le 01/11/2004 18:41:13

Salut a tous,
je suis débutant dans le VB, mais il y a plein d'erreur lorsque je copie la source et que je le colle dans VB6...

Dim fso As New FileSystemObject
    Dim Dossier As Folder
    Dim SousDossier As Folder
    Dim Fichier As File

il m(inquide une erreur " Type défni par l'utilsateur non défini"

pouvez vous m'aider...

J'ai aussi visual basic .net

Commentaire de Jujufouq le 25/01/2005 00:35:45

Oui tranquille... enfin, je n'ai pas touché à VB6 depuis des lustres, et ne suis pas passé véritablement à VB.NET, mais dans mon souvenir (ce code étant pour VB6), tu as oublié une étape importante! Lorsque je parle de FileSystemObject, il s'agit dun object contenu dans une dll. Il faut que tu l'inclue dans ton projet. Mais ne me demande pas par quel menu passer pour ça! Ce serait pas "Projet > Références" ? En tout cas tu dois retrouver une liste de dll, et là je fais appelle aux autres programmateurs qui programment toujours en VB6 pour te donner le nom à sélectionner dans la liste! Je l'ai complètement zappé celui-là... mais il doit être dans les "Internet..." + quelque chose... ou "MS Internet scripting runtime library"... enfin tu vois... un truc du genre.
Si tu ne l'inclues pas, tu ne peux pas utilisé l'objet FileSystemObject ni Folder ni Folders ni File ni Files ni les autres qui sont inclus dans cette bibliothèque. J'espère t'avoir aidé! ++

Commentaire de Shendoo le 22/02/2006 21:16:20

pkoi po ^^ un zip pour cecode dis moi ,
8/10

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales