Så här hittar du och använder ett alias eller en funktion för cmdlets och kommandon i Window PowerShell

Windows PowerShell innehåller många kraftfulla kommandon och cmdlets, men ibland skriver det fullständiga namnet på vanliga kommandon är en smärta. Goda nyheter! Många av de inbyggda kommandon har redan genvägar, a.k.a. aliaser.

För att se den aktuella listan över alias, skriv bara följande i PowerShell:

Get-Alias

Du kommer att presenteras med en lista över alias: kommandon till höger, alias eller genväg till vänster. Låt oss se det igen med eget alias:

tjej

För att skapa egna Aliases använder du kommandot Set-Alias. Kolla här:

hjälp Set-alias

Observera att alias som du anger inte kommer att vara tillgängliga när du lämnar PowerShell som standard. För att göra din "användaralias" tillgänglig nästa gång du öppnar PowerShell måste du antingen exportera och importera dem eller lägga dem i PowerShell-profilfilen.

Du har förmodligen inte en PowerShell-profilfil ännu. Ta reda på så här:

testprofil $ profil

Detta returnerar True om det existerar, False om det inte gör det. Skapa en ny fil med följande kommando:

ni-path $ profile -itemtype file -force

Nu kan du helt enkelt ange alias (faktiskt det kommando som anger aliaset) som du vill ha tillgängligt varje gång du startar PowerShell i den filen. Du kan göra detta genom att echo ditt set alias-kommando i filen, eller genom att öppna filen med, säg Notepad och skriva in kommandot manuellt.

Till exempel, låt oss skapa vårt eget alias för kommandot get-childitem:

set-alias l Get-ChildItem

Nu kan du helt enkelt skriva l (det är små bokstäver "L") för att köra kommandot Get-ChildItem. Prova det med något som följande:

l c: \

För att göra detta alias "ihållande", kör helt enkelt följande:

echo "set-alias l Get-ChildItem" >> $ Profil

En sak om alias är att de inte tillåter dig att ange kommandot alternativ, till exempel alternativet "-recurse" för kommandot get-childitem. För det behöver vi skapa en funktion.

För att skapa en funktion som låter oss köra "Get-ChildItem -recurse" med det kortare kommandot "ll" (små bokstäver "LL") skriver du följande:

echo "-funktionen ll {get-childitem '$ args -recurse}" >> $ Profil

Stäng nu och öppna PowerShell igen och kör:

ll $ env: windir \ system32 \ logfiler

Vad gör det egentligen? Det skapar en funktion som kan kallas med sitt namn, ll, och den funktionen kör ett kommando, get-childitem, skickar till sig några argument, $ args, som råkar skickas till funktionen när det heter, och sedan specificerar alternativet -recurse för get-childitem-kommandot. I vårt kommando ovan skickar vi "$ env: windir \ system32 \ logfiler" till vår ll-funktion, vilket innebär att i de flesta Windows-installationer ser vi allt innehåll i c: \ windows \ system32 \ logfiler, inklusive alla underkataloger.