2016-07-28 201 views
0

我已經搜查,搜查,但想不通這是爲什麼返回一個無效的查詢錯誤:Powershell WMIC數據文件無效查詢?

wmic datafile where name='c:\\program files (x86)\\Mozilla Firefox\\Firefox.exe' get version 

我已經升高PS試了一下爲好,心想也許是由於對權限程序文件夾。我也嘗試過使用區分大小寫的路徑/文件名。我試過雙引號以及單引號,也沒有引號。我也嘗試用單打替換雙打。我甚至在不同的文件夾位置嘗試不同的文件(如c:\ temp);似乎每次我使用數據文件的名稱,我得到一個無效的查詢,即使我離開得到版本...

世界正在發生什麼?

回答

0

使用PowerShell的Get-WmiObject(化名gwmi)原生的做法:

$f = gwmi cim_datafile -Filter {Name='c:\\program files (x86)\\Mozilla firefox\\firefox.exe'} 
$f.Version 
+0

哇喔哇謝謝!我只是想要從輸出中刪除一些文本......這只是給我正確的輸出! – PhoenixKsE

3

剛剛找到答案。整個名稱='path \ filename.exe'需要用引號引起來......原因不明。

這樣的:

wmic datafile where "name='c:\\program files (x86)\\Mozilla Firefox\\Firefox.exe'" get version 

這則返回:

版本 31.0.0.5310

這是幾乎正是我需要的......現在我只需要找到一個方法去除返回值的「版本」部分。