2009-12-26 36 views
0

我試圖從Program Files文件夾中的文件中檢索文件詳細信息。
嘗試檢索文件詳細信息時收到錯誤消息。在vb.net中檢索文件詳細信息

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"它工作正常。

,我應該怎麼做,如果我想從其中包括一個「%」字符的路徑檢索文件的詳細信息?

回答

3

我沒有Windows機器方便的測試,但嘗試expanding環境變量第一:

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

您需要使用一個環境變量:

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

+1'的路徑。 Combine'。 –