2016-07-28 16 views
0

私は検索と検索が、これは無効なクエリーエラーを返している原因を把握することはできませんしている:私は、おそらくそれは上の権限によるものであったことを考えて、同様の上昇PSでそれを試してみたPowershell WMICデータファイルのクエリが無効ですか?

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

プログラムファイルフォルダ。大文字と小文字を区別したパス/ファイル名で試してみました。私は二重引用符だけでなく、一重引用符だけでなく、引用符を試みました。私はまた、ダブル\をシングルと置き換えようとしました。私は別のフォルダの場所(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

をこれは私が必要とするほとんどまさにです...今私はちょうど見つけなければならない。このような

戻り値の "Version"部分を取り除く方法。