Comment lister les fichiers d'une même extension d'un répertoire ?
Réponses rédigées par Antoine
Dernière mise à jour : 2020-03-29 15:36:47
Question
Bonjour, j'ai un répertoire qui contient des milliers de fichiers de différents types. J’aimerais pouvoir générer un fichier texte contenant la liste de tous les fichiers d'une même extension, pdf par exemple. J'utilise Windows 10. Merci.
Réponse
Vous pouvez utiliser Visual Basic pour lister tous les fichiers d'un même répertoire, et de ses sous répertoires, selon un extension particulière, puis générer un fichier texte avec cette même liste.
Pour lister les fichiers d'une même extension d'un répertoire, vous devez :
- Créer un fichier
liste.txt
dans le répertoire. - Copier le code suivant dans le bloc-note.
- Modifier la huitième ligne et y spécifier l'extension à lister.
- Enregistrer le fichier au format VBS :
lister.vbs
par exemple. - Double cliquer sur le fichier VBS pour lister les fichiers.
Script Batch VBS pour lister les fichiers d'une même extension d'un répertoire :
Option Explicit
Const ForWriting = 2
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objNOM
objNOM = "liste.txt"
Dim objExt
objExt = "pdf"
Dim objREP
objREP = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
Dim objTS
Set objTS = objFSO.OpenTextFile(objREP & objNOM, ForWriting, True)
Recurse objFSO.GetFolder(objREP)
objTS.Close()
Sub Recurse(obj)
Dim objFile, objSubFolder
For Each objFile In obj.Files
If LCase(objFSO.GetExtensionName(objFile.Name)) = objExt Then
objTS.WriteLine(objFile.Path)
End If
Next
For Each objSubFolder In obj.SubFolders
Recurse objSubFolder
Next
End Sub