Bonjour,
Je cherche un moyen en VBScript de récupérer les informations de "version" de tous les fichiers qui se trouvent dans un répertoire (infos qui se trouvent dans l'onglet Version lorsqu'on fait un click-droit>Propriétés sur un fichier .dll ou .exe).
J'ai besoin notamment des informations suivantes : Version du fichier (champ qui se trouve en haut de l'onglet Version), Description, Copyright, Entreprise, Langue, Marques légales, Nom du fichier d'origine, Nom du produit, Nom interne, Version du fichier (champ qui se trouve dans la partie "Autres informations de version" de l'onglet Version et qui peut être différent de l'autre champ du même nom pour d'anciennes dlls), Versions du produit.
J'avais un VBScript qui (en résumé) utilisait les lignes suivantes :
Mais ceci ne fonctionne plus depuis quelques temps (depuis l'installation du SP2 de XP Pro, du Framework .Net 2.0, de Visual Studio 2003 ou bien d'Office Pro ???):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(InputNEW) Set TextStream = fso.CreateTextFile( "C:\MonFichier.txt", True) ' Création de la ligne d'en-tête (intitulé des informations) strTxt = objFolder.GetDetailsOf(objFolder.Items, 0) For i = 1 to 34 arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i) strTxt = strTxt & vbTab & objFolder.GetDetailsOf(objFolder.Items, i) Next ' Crée une ligne par fichier (contenant les informations de version du fichier) For Each strFileName in objFolder.Items strTxt = objFolder.GetDetailsOf(strFileName, 0) For i = 1 to 34 strTxt = strTxt & vbTab & objFolder.GetDetailsOf(strFileName, i) Next TextStream.WriteLine( strTxt ) Next
- la plupart des informations sont vides (à partir de l'indice i=9)
- les indices ne correspondents plus aux informations qui étaient affichées avant : le champ "Version du fichier" (qui correspondait à l'indice i=32) n'existe plus ==> le code qui me permettait de vérifier si les 2 champs "Version du fichier" étaient identiques ne fonctionne plus (je comparais les valeurs de "objFile.Version" et de "objFolder.GetDetailsOf(strFileName, 32)" après avoir supprimé les espaces, virgules et points).
Quequ'un a-til une solution pour résoudre mon problème ?
Merci,
myribert
Partager