[VBS Debutant] trouver un fichier dans une arborescence.. [Résolu]

phbiohazard 6 Messages postés mardi 6 novembre 2007Date d'inscription 9 novembre 2007 Dernière intervention - 8 nov. 2007 à 14:55 - Dernière réponse : phbiohazard 6 Messages postés mardi 6 novembre 2007Date d'inscription 9 novembre 2007 Dernière intervention
- 9 nov. 2007 à 12:19
Bonjour a tous,

Je souhaiterai savoir si qqun a un bout de script vbs qui parse la totalite d'un disque dur et me revoie le chemin et le nom du fichier si l'extension d'un fichier particulier demandé est présent.

Ex : renvoyer le chemin et le nom d'un fichier ayant pour extention .VBS

Merci pour votre aide
Cordialement
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 8 nov. 2007 à 15:04
3
Merci
FSO doit te permettre de faire ce que tu souhaites, mais j'avoue ne pas etre certain d'avoir compris...

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de Renfield
Meilleure réponse
phbiohazard 6 Messages postés mardi 6 novembre 2007Date d'inscription 9 novembre 2007 Dernière intervention - 8 nov. 2007 à 15:31
3
Merci
Merci RenField pour ta reponse :-)

Mon souhait serait de faire une recherche de tous les fichiers .VBS présent sur mon disque dur C, y compris dans les repertoires cachés.

Je recherche des exemples de scripts de ce type pour analyse, car étant grand débutant (j'ai commence VBS avant hier ((() cela m'aiderait a mieux comprendre ce language.

Avec mes remerciements,
Cordialement

Merci phbiohazard 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de phbiohazard
Meilleure réponse
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 8 nov. 2007 à 15:33
3
Merci
Salut,
Je pense qu'en passant un peu de temps dans la section Source, et sur www.codyx.org, tu devrais pouvoir trouver assez aisément tout ce dont tu as besoin.

@+: Ju£i?n
Pensez: Réponse acceptée

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de jrivet
Meilleure réponse
phbiohazard 6 Messages postés mardi 6 novembre 2007Date d'inscription 9 novembre 2007 Dernière intervention - 8 nov. 2007 à 15:49
3
Merci
Merci Ju£i?n, mais je n'ai rien trouver de concret...

Trouver un fichier dans un repertoire, oui, et d'alleurs ma fonction est deja developpee, mais parcourir un disque complet, et qui me remonte le chemin complet et le nom du fichier comme c:\temp\rep1\sousreptest\test.vbs et bien je n'ai rien trouver

D'ou mon post sur ce site ;-)

Cordialement

Merci phbiohazard 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de phbiohazard
Meilleure réponse
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 9 nov. 2007 à 00:23
3
Merci
Je ne sais pas si c'est adaptable en VBS, mais tu pourrais regarder ce que j'avais mis sur ce post et que je n'ai pas encore mis sur Codyx........

http://www.vbfrance.com/infomsg_LISTER-FICHIERS_940121.aspx?p=3

À la base, c'était pour exploiter sous Excel, mais ça peut être modifié assez simplement pour autre usage. Seul problème, je ne connais pas vraiment VBS pour savoir si ça peut passer (?) L'important dans ton cas, je pense, est la récursivité... une fonction qui s'appelle elle-même pour être en mesure de lire les sous-répertoires.

MPi²

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
phbiohazard 6 Messages postés mardi 6 novembre 2007Date d'inscription 9 novembre 2007 Dernière intervention - 9 nov. 2007 à 12:19
3
Merci
Bonjour a Tous,

Bon, je tatonne, mais j'avance ;-)

Voici la premiere partie de mon code qui, théoriquement, si j'n crois mon msgbox me remonte bien les noms des répertoires, sauf que j'aurai bien aimé avoir dans "folder" l'antislash à la fin car cela pose probleme avec la deuxieme partie de mon code...

PARTIE 1 : Scan d'arborescence :


Dim folder, fso, folderPath, filepath

Set fso = CreateObject("Scripting.FileSystemObject")




folder = "c:\test_vbs"
getFolder(folder)
set fso = nothing
Function getFolder(root)
dim folders, folder, file, files
For Each folder In fso.getFolder(root).SubFolders
 getFolder(fso.GetAbsolutePathName(folder))
 myvar = MsgBox(folder, 6, " Name_DIR")
Next
End Function





Voici mon 2eme programme que je voudrais joindre a ce premier programme, ce qui me pose des problemes d'integrations.
En effet, ce 2eme programme parse tous les fichiers d'un répertoire déclaré et cherche une extension MBL et vient remplacer une chaine de caracteres.
Ce 2eme programme seul fonctionne a merveille, mais les deux programmes associes ne fonctionnent pas.
Si qqun pourrait m'aider a faire cette integration, ce serait super !!

Voici le code de mon 2eme programme :

On Error Resume NextConst ForReading 1, ForWriting 2



Set FSO = CreateObject("Scripting.FileSystemObject")



repScan = "c:\test_vbs"



For Each PossibleFile in FSO.GetFolder(repScan).Files
 If UCase(FSO.GetExtensionName(PossibleFile)) = "MBL" Then _
  FSO.CopyFile repScan & PossibleFile.Name, repScan & PossibleFile.Name & ".BKK" ,True
  set suspectOuvrir = FSO.OpenTextFile(repScan & PossibleFile.Name, ForReading)
  suspect = suspectOuvrir.readAll
  suspectOuvrir.Close
  If UCase(FSO.GetExtensionName(repScan & PossibleFile)) = "MBL" Then _
  set suspectRecord = FSO.OpenTextFile(repScan & PossibleFile.Name, ForWriting)  
  pattern1 = "
http://www.tf1.fr
"
  suspect= replace(suspect, pattern1, "************REMPLACE**********")
  suspectRecord.Write suspect
  suspectRecord.Close



Next


Je vous remercie pour votre aide
Cordialement

Merci phbiohazard 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de phbiohazard

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.