BEARBEITEN: Ich hätte hinzufügen sollen, wenn Sie den WHERE-Befehl an der Eingabeaufforderung nicht verwenden können, überprüfen Sie Ihre PATH-Variable. (Verwenden Sie einfach den Befehl "path".) Stellen Sie sicher, dass sich C: \ Windows \ System32 in Ihrem Pfad befindet. Dort befindet sich "where.exe".
WO ist der gesuchte Befehl? WHERE ist wie eine Kreuzung zwischen der in der UNIX-Shell integrierten Funktion "which" und dem Befehl "locate", da es sowohl für ausführbare Befehlsdateien als auch für reguläre Dateien funktioniert.
Es ist auch etwas komplexer als eines dieser beiden, obwohl im Allgemeinen ein einfaches
WHERE <file>
wird funktionieren.
Es unterscheidet sich vom Befehl "locate" darin, dass nicht das gesamte Dateisystem durchsucht wird. Stattdessen wird standardmäßig an zwei Speicherorten nach Dateien gesucht:
- Das aktuelle Verzeichnis.
- Alle Verzeichnisse in der PATH-Variablen.
Jeder Befehl, den Sie direkt an einer Eingabeaufforderung ausführen können, ohne das Verzeichnis anzugeben, wird vom Befehl WHERE gefunden. (Da sich ein solcher Befehl bereits in der PATH-Variablenliste befindet.)
Wenn Sie nur in der Befehlspfadvariablen suchen möchten , können Sie Folgendes verwenden:
WHERE "$path:<search text>"
Wenn Sie dagegen alle Kopien einer Datei in einem Verzeichnisbaum suchen möchten, können Sie Folgendes verwenden:
WHERE /R <Top Level Directory> <search text>
Schließlich findet WHERE Befehle und alle Dateien mit einer Erweiterung aus der Variablen PATHEXT, ohne die Erweiterung einzuschließen. Alle anderen Dateien müssen entweder exakt oder mit Wildcards angegeben werden.
Nehmen Sie zum Beispiel die Dateien "dxdiag.exe" und "dxdiagn.dll". Beachten Sie den folgenden Befehl und seine Ausgabe:
WHERE /R C:\Windows dxdiag
C:\Windows\System32\dxdiag.exe
C:\Windows\SysWOW64\dxdiag.exe
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiag.exe
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiag.exe
Es ist erfolgreich, alle Versionen von "dxdiag.exe" zurückzugeben, da ".exe" eine der Erweiterungen in der PATHEXT-Variablen ist. (Hinweis: "WHERE dxdiag" hätte auch funktioniert, da sich C: \ Windows \ System32 in der PATH-Variablen befindet.)
WHERE /R C:\Windows dxdiagn
Andernfalls wird kein Ergebnis zurückgegeben, da ".dll" nicht in PATHEXT enthalten ist.
In diesem Fall sehen Sie sich das Ergebnis an, das durch das Hinzufügen eines Platzhalters erhalten wird:
WHERE /R C:\Windows dxdiagn*
C:\Windows\System32\dxdiagn.dll
C:\Windows\System32\en-US\dxdiagn.dll.mui
C:\Windows\SysWOW64\dxdiagn.dll
C:\Windows\SysWOW64\en-US\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_daccd04369b09c70\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiagn.dll
C:\Windows\WinSxS\x86_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_7eae34bfb1532b3a\dxdiagn.dll.mui
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiagn.dll
Alle Versionen von dxdiagn.dll werden erfolgreich zurückgegeben.
Verwenden Sie für weitere Informationen "WHERE /?". Hoffe das hilft!