在vb.net中检索文件详细信息

时间:2009-12-26 19:19:39

标签: vb.net

我正在尝试从Program Files文件夹中的文件中检索文件详细信息 尝试检索文件详细信息时收到错误。

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

我在第3行收到文件未找到错误 但是,如果我将路径从"%ProgramFiles%\Windows Defender\MSASCui.exe"更改为"c:\Program Files\Windows Defender\MSASCui.exe",则可以正常工作。

如果我想从包含“%”字符的路径中检索文件详细信息,该怎么办?

2 个答案:

答案 0 :(得分:4)

您需要使用环境变量:

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

答案 1 :(得分:3)

我没有便于测试的Windows机器,但首先尝试expanding环境变量:

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