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

在vb.net中检索文件详细信息,vb.net,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()) 我在第三行收到文

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

Dim sFileName As String = ("%ProgramFiles%\Windows Defender\MSASCui.exe")
Dim Info As FileVersionInfo
Info = FileVersionInfo.GetVersionInfo(sFileName)
Msgbox(Info.ProductName.ToString())
我在第三行收到文件未找到错误。
但是,如果我将路径从
%ProgramFiles%\Windows Defender\msascu.exe“
更改为
“c:\Program Files\Windows Defender\msascu.exe”
,则可以正常工作


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

我手头没有Windows计算机可供测试,但请先尝试环境变量:

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

您需要使用环境变量:

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