2016-07-28 204 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

这是几乎正是我需要的......现在我只需要找到一个方法去除返回值的“版本”部分。