So finden und verwenden Sie einen Alias ​​oder eine Funktion für Cmdlets und Befehle in Window PowerShell

Windows PowerShell enthält viele leistungsstarke Befehle und Cmdlets. Manchmal ist es jedoch schwierig, den vollständigen Namen für häufig verwendete Befehle einzugeben. Gute Nachrichten! Viele der integrierten Befehle verfügen bereits über Abkürzungen, a.k.a.-Aliase.

Um die aktuelle Liste der Aliase anzuzeigen, geben Sie einfach Folgendes in PowerShell ein:

Get-Alias

Es wird eine Liste mit Aliasnamen angezeigt: Befehle auf der rechten Seite, Aliasnamen oder Verknüpfungen auf der linken Seite. Lassen Sie uns es noch einmal mit einem eigenen Alias ​​sehen:

gal

Um eigene Aliase zu erstellen, verwenden Sie den Befehl Set-Alias. Siehe hier:

Hilfe-Set-Alias

Beachten Sie, dass von Ihnen festgelegte Aliase nicht verfügbar sind, wenn Sie PowerShell standardmäßig verlassen. Um Ihre "Benutzer-Aliase" beim nächsten Öffnen von PowerShell verfügbar zu machen, müssen Sie sie entweder exportieren und dann importieren oder in Ihre PowerShell-Profildatei einfügen.

Sie haben wahrscheinlich noch keine PowerShell-Profildatei. Finden Sie es heraus:

Testpfad $ Profil

Dies gibt True zurück, wenn es existiert, False, wenn nicht. Erstellen Sie eine neue Datei mit dem folgenden Befehl:

ni -path $ profile -itemtype -Datei -force

Jetzt können Sie einfach beliebige Aliase (eigentlich den Befehl, der den Alias ​​einstellt) angeben, die bei jedem Start von PowerShell in dieser Datei verfügbar sein sollen. Sie können dies tun, indem Sie den Befehl set-alias in der Datei wiederholen oder indem Sie die Datei beispielsweise mit dem Editor öffnen und den Befehl manuell eingeben.

Lassen Sie uns beispielsweise einen eigenen Alias ​​für den Befehl get-childitem erstellen:

set-alias l Get-ChildItem

Jetzt können Sie einfach l (das ist Kleinbuchstabe "L") eingeben, um den Befehl Get-ChildItem auszuführen. Probieren Sie es mit etwas wie dem folgenden aus:

l c: \

Um diesen Alias ​​"dauerhaft" zu machen, führen Sie einfach Folgendes aus:

echo “set-alias l Get-ChildItem” >> $ Profile

Bei Aliasnamen dürfen Sie keine Befehlsoptionen angeben, z. B. die Option "-recurse" für den Befehl "get-childitem". Dafür müssen wir eine Funktion erstellen.

Um eine Funktion zu erstellen, mit der wir "Get-ChildItem -recurse" mit dem kürzeren Befehl "ll" (Kleinbuchstabe "LL") ausführen können, geben Sie Folgendes ein:

echo “function ll {get-childitem '$ args -recurse}' >> $ Profile

Schließen Sie nun PowerShell, öffnen Sie sie erneut, und führen Sie Folgendes aus:

ll $ env: windir \ system32 \ logfiles

Was macht das eigentlich? Es erstellt eine Funktion, die über den Namen ll aufgerufen werden kann. Diese Funktion führt einen Befehl, get-childitem aus, übergibt alle Argumente, $ args, die beim Aufruf an die Funktion übergeben werden, und spezifiziert sie die Option -recurse für den Befehl get-childitem. In unserem obigen Befehl übergeben wir "$ env: windir \ system32 \ logfiles" an unsere ll-Funktion, was bedeutet, dass bei den meisten Windows-Installationen der gesamte Inhalt von c: \ windows \ system32 \ logfiles angezeigt wird, einschließlich aller Unterverzeichnisse.