Hvordan finne og bruke et alias eller funksjon for cmdlets og kommandoer i Window PowerShell

Hvordan finne og bruke et alias eller funksjon for cmdlets og kommandoer i Windows Powershell

Windows Powershell inneholder mange kraftige kommandoer og cmdlets, men noen ganger å skrive fullt navn for ofte brukte kommandoer er en smerte. Gode ​​nyheter! Mange av de innebygde kommandoer allerede har snarveier, aka aliaser


For å se oppdatert liste over aliaser, bare skrive følgende i Powershell.

Get-Alias

Du vil bli presentert med en liste over aliaser: kommandoer på høyre, alias, eller snarvei, til venstre. La oss se det igjen med sitt eget kallenavn:

gal

For å lage dine egne aliaser, du bruker Set-Alias-kommandoen. Se her:

hjelpe Set-Alias ​​

Merk at aliaser som du setter ikke kommer til å være tilgjengelig når du forlater Powershell, som standard. For å gjøre dine "bruker aliaser" tilgjengelig neste gang du åpner Powershell, må du enten eksportere og deretter importere dem, eller sette dem i Powershell profil fil.

Du har sannsynligvis ikke har en Powershell Profil filen ennå. Finn ut slik:

test-bane $ profil

Dette returnerer True hvis den finnes, False hvis den ikke gjør det. Opprett en ny fil med følgende kommando:

ni -path $ profil -itemtype fil -force

Nå kan du bare sette noen aliaser (faktisk, kommandoen som setter alias) som du ønsker å ha tilgjengelig hver gang du starter Powershell i denne filen. Du kan gjøre dette ved ekko set-alias kommandoen i til filen, eller ved å åpne filen med, si, Notisblokk, og skrive inn kommandoen manuelt.

For eksempel, la oss lage vår egen alias for get-childitem kommando:

set-alias l Get-ChildItem

nå kan du bare skrive l (som er små bokstaver "L") for å kjøre Get-ChildItem kommandoen. Prøv det ut med noe sånt som følgende:

lc: \\

For å gjøre dette alias "persistent", bare å kjøre følgende:

echo "set-alias l Få -ChildItem "> > $ Profil

En ting om aliaser er at de ikke lar deg spesifisere kommandoer, for eksempel "-recurse" alternativet for get-childitem kommandoen. . For det, må vi opprette en funksjon

For å lage en funksjon som lar oss kjøre "Get-ChildItem -recurse" med kortere kommandoen "ll" (små bokstaver "LL"), skriver du følgende:

echo "funksjonen ll {get-childitem` $ args -recurse} "> > $ Profil

Nå lukker og re-åpne Powershell, og kjør:

ll $ env: windir \\ system32 \\ loggfiler

Hva er dette faktisk gjør? Det skaper en funksjon som kan kalles ved sitt navn, ll, og at funksjonen er å kjøre en kommando, get-childitem, passerer til den noen argumenter, $ args, som måtte sendes til funksjonen når det heter, og deretter angivelse den -recurse alternativ for get-childitem kommandoen. I vår kommandoen ovenfor vi kjører "$ env: windir \\ system32 \\ loggfiler" til vår ll funksjon, noe som betyr at på de fleste Windows-installasjoner vil vi se hele innholdet av c: \\ windows \\ system32 \\ loggfiler, inkludert alle underkataloger.