2009-12-26 10 views
0

J'essaie de récupérer les détails du fichier à partir de fichiers dans le dossier Program Files.
Une erreur est survenue lors de la tentative de récupération des détails du fichier.Récupération des détails du fichier dans vb.net

Dim sFileName As String = ("%ProgramFiles%\Windows Defender\MSASCui.exe") 
Dim Info As FileVersionInfo 
Info = FileVersionInfo.GetVersionInfo(sFileName) 
Msgbox(Info.ProductName.ToString()) 

Je reçois le fichier erreur non trouvée à la 3ème ligne.
Mais si je change le chemin de "%ProgramFiles%\Windows Defender\MSASCui.exe" à "c:\Program Files\Windows Defender\MSASCui.exe" cela fonctionne très bien.

Que dois-je faire si je veux récupérer les détails du fichier à partir du chemin qui inclut un caractère "%"?

Répondre

3

Je n'ai pas une machine Windows à portée de main pour tester, mais essayez expanding la variable d'environnement d'abord:

sFileName = Environment.ExpandEnvironmentVariables(sFileName) 
Info = FileVersionInfo.GetVersionInfo(sFileName) 
4

Vous devez utiliser une variable d'environnement:

Dim programFiles As String = Environment.GetEnvironmentVariable("ProgramFiles") 
Dim sFileName As String = Path.Combine(programFiles, "Windows Defender\MSASCui.exe") 
+0

+1 pour 'chemin. Combiner'. –

Questions connexes