我正在尝试从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"
,则可以正常工作。
如果我想从包含“%”字符的路径中检索文件详细信息,该怎么办?
答案 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)