Wie kann ich PowerShell fragen, wo etwas ist?
Zum Beispiel: "which notepad" und es wird das Verzeichnis zurückgegeben, in dem die notepad.exe entsprechend den aktuellen Pfaden ausgeführt wird.
Wie kann ich PowerShell fragen, wo etwas ist?
Zum Beispiel: "which notepad" und es wird das Verzeichnis zurückgegeben, in dem die notepad.exe entsprechend den aktuellen Pfaden ausgeführt wird.
Der allererste Alias, den ich erstellt habe, als ich anfing, mein Profil in PowerShell anzupassen, war "which".
New-Alias which get-command
Um dies zu Ihrem Profil hinzuzufügen, geben Sie dies ein:
"`nNew-Alias which get-command" | add-content $profile
Das `n am Anfang der letzten Zeile soll sicherstellen, dass sie als neue Zeile beginnt.
Hier ist ein tatsächliches *nix-Äquivalent, d.h. es gibt eine Ausgabe im *nix-Stil.
Get-Command <your command> | Select-Object -ExpandProperty Definition
Ersetzen Sie sie einfach durch das, wonach Sie suchen.
PS C:\> Get-Command notepad.exe | Select-Object -ExpandProperty Definition
C:\Windows\system32\notepad.exe
Wenn Sie es zu Ihrem Profil hinzufügen, sollten Sie eine Funktion und keinen Alias verwenden, da Sie Aliase nicht mit Pipes verwenden können:
function which($name)
{
Get-Command $name | Select-Object -ExpandProperty Definition
}
Wenn Sie nun Ihr Profil neu laden, können Sie dies tun:
PS C:\> which notepad
C:\Windows\system32\notepad.exe
Normalerweise tippe ich einfach:
gcm notepad
oder
gcm note*
gcm ist der Standardalias für Get-Command.
Auf meinem System gibt gcm note* aus:
[27] » gcm note*
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\notepad.exe
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application Notepad2.exe C:\Utils\Notepad2.exe
Application Notepad2.ini C:\Utils\Notepad2.ini
Sie erhalten das Verzeichnis und den Befehl, der dem Gesuchten entspricht.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.