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.