我已搜索并搜索过,但无法弄清楚为何返回无效查询错误:
wmic datafile where name='c:\\program files (x86)\\Mozilla Firefox\\Firefox.exe' get version
我也尝试使用提升的PS,认为这可能是由于程序文件文件夹的权限所致。我也尝试了区分大小写的路径/文件名。我试过双引号和单引号,也没有引号。我也尝试用单打替换双人赛。我甚至尝试过不同文件夹位置的不同文件(如c:\ temp);似乎每次我使用datafile的地方名称,我得到一个无效的查询,即使我离开了获取版本......
世界上到底发生了什么?
答案 0 :(得分:4)
完全找到了答案。整个名称=' path \ filename.exe'需要引用...出于某种未知原因。
像这样:wmic datafile where "name='c:\\program files (x86)\\Mozilla Firefox\\Firefox.exe'" get version
然后返回:
版 31.0.0.5310
这几乎正是我所需要的......现在我只需找到一种方法去除"版本"返回值的一部分。
答案 1 :(得分:1)
使用PowerShell的Get-WmiObject
(别名gwmi
)原生方法:
$f = gwmi cim_datafile -Filter {Name='c:\\program files (x86)\\Mozilla firefox\\firefox.exe'}
$f.Version