Powershell WMIC 数据文件查询无效?
Powershell WMIC Datafile Invalid Query?
我搜索了又搜索,但无法弄清楚为什么会返回无效查询错误:
wmic datafile where name='c:\program files (x86)\Mozilla Firefox\Firefox.exe' get version
我也尝试过提升PS,认为这可能是由于程序文件文件夹的权限。我也试过区分大小写 path/filename。我试过双引号和单引号,也没有引号。我也试过用单打替换双打。我什至在不同的文件夹位置尝试过不同的文件(如 c:\temp);似乎每次我使用 datafile where name 时,我都会得到一个无效的查询,即使我离开了 get version...
这到底是怎么回事?
刚刚找到答案。整个名称='path\filename.exe' 需要用引号引起来...出于某种未知原因。
像这样:
wmic datafile where "name='c:\program files (x86)\Mozilla Firefox\Firefox.exe'" get version
然后returns:
版本
31.0.0.5310
这 几乎 正是我需要的...现在我只需要找到一种方法来去除返回值的 "Version" 部分。
使用 PowerShell 的 Get-WmiObject
(别名 gwmi
)原生方法:
$f = gwmi cim_datafile -Filter {Name='c:\program files (x86)\Mozilla firefox\firefox.exe'}
$f.Version
我搜索了又搜索,但无法弄清楚为什么会返回无效查询错误:
wmic datafile where name='c:\program files (x86)\Mozilla Firefox\Firefox.exe' get version
我也尝试过提升PS,认为这可能是由于程序文件文件夹的权限。我也试过区分大小写 path/filename。我试过双引号和单引号,也没有引号。我也试过用单打替换双打。我什至在不同的文件夹位置尝试过不同的文件(如 c:\temp);似乎每次我使用 datafile where name 时,我都会得到一个无效的查询,即使我离开了 get version...
这到底是怎么回事?
刚刚找到答案。整个名称='path\filename.exe' 需要用引号引起来...出于某种未知原因。
像这样:
wmic datafile where "name='c:\program files (x86)\Mozilla Firefox\Firefox.exe'" get version
然后returns:
版本 31.0.0.5310
这 几乎 正是我需要的...现在我只需要找到一种方法来去除返回值的 "Version" 部分。
使用 PowerShell 的 Get-WmiObject
(别名 gwmi
)原生方法:
$f = gwmi cim_datafile -Filter {Name='c:\program files (x86)\Mozilla firefox\firefox.exe'}
$f.Version