2016-07-28 20 views
0

Ich habe gesucht und gesucht, aber kann nicht herausfinden, warum dies eine ungültige Abfrage Fehler zurückgibt:Powershell WMIC Datafile ungültige Abfrage?

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

Ich habe es mit einem erhöhten PS versuchte auch, zu denken, dass vielleicht war es auf den Berechtigungen aufgrund die Programmdateien Ordner. Ich habe es auch mit Groß-und Kleinschreibung Pfad/Dateiname versucht. Ich habe doppelte Anführungszeichen sowie einfache Anführungszeichen und keine Anführungszeichen ausprobiert. Ich habe auch versucht, die Doppel mit Singles zu ersetzen. Ich habe sogar verschiedene Dateien in verschiedenen Verzeichnissen ausprobiert (wie c: \ temp); es scheint, dass jedes Mal, wenn ich Datendatei wo Name verwende, bekomme ich eine ungültige Abfrage, auch wenn ich lasse Version verlassen ...

Was in der Welt vor sich geht?

Antwort

0

Verwenden Powershell Get-WmiObject (alias gwmi) nativen Ansatz:

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

Oh wow wow wow danke! Ich habe gerade versucht, etwas von dem Text zu entfernen ... das gibt mir nur die richtige Ausgabe! – PhoenixKsE

3

Völlig nur die Antwort gefunden. Der gesamte Name = 'Pfad \ Dateiname.exe' muss in Anführungszeichen stehen ... aus einem unbekannten Grund.

wie folgt aus:

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

Dieser gibt dann:

Version 31.0.0.5310

Diese genau fast ist, was ich brauche ... jetzt muss ich nur noch eine finden Möglichkeit, den "Version" -Teil des zurückgegebenen Wertes zu entfernen.