Come trovare e utilizzare un alias o una funzione per cmdlet e comandi in Window PowerShell

Windows PowerShell contiene molti potenti comandi e cmdlet, ma a volte digitare il nome completo per i comandi più utilizzati è un problema. Buone notizie! Molti dei comandi incorporati hanno già collegamenti, a.k.a. Alias.

Per visualizzare l'attuale elenco di alias, è sufficiente digitare quanto segue in PowerShell:

Get-Alias

Ti verrà presentato un elenco di alias: comandi a destra, alias o scorciatoia, a sinistra. Vediamolo di nuovo con il suo stesso alias:

ragazza

Per creare i tuoi Alias, usi il comando Set-Alias. Vedere qui:

aiuto Set-Alias

Nota che gli alias che hai impostato non saranno disponibili una volta lasciato PowerShell, per impostazione predefinita. Per rendere disponibili i tuoi "alias utente" alla successiva apertura di PowerShell, sarà necessario esportarli e quindi importarli oppure inserirli nel file del profilo di PowerShell.

Probabilmente non hai ancora un file di profilo PowerShell. Scopri come:

percorso del test $ profilo

Questo restituisce True se esiste, False se non lo fa. Crea un nuovo file con il seguente comando:

ni -path $ profile -itemtype file -force

Ora puoi semplicemente inserire qualsiasi alias (in realtà, il comando che imposta l'alias) che desideri avere disponibile ogni volta che avvii PowerShell in quel file. Puoi farlo facendo riecheggiare il comando set-alias nel file o aprendo il file con, ad esempio, Blocco note e digitando manualmente il comando.

Ad esempio, creiamo il nostro alias per il comando get-Childitem:

set-alias l Get-ChildItem

Ora puoi semplicemente digitare l (che è in lettere minuscole "L") per eseguire il comando Get-ChildItem. Provalo con qualcosa di simile al seguente:

l c: \

Per rendere questo alias "persistente", è sufficiente eseguire quanto segue:

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

Una cosa sugli alias è che non ti permettono di specificare le opzioni di comando, ad esempio l'opzione "-recurse" per il comando get-Childitem. Per questo, abbiamo bisogno di creare una funzione.

Per creare una funzione che consente di eseguire "Get-ChildItem -recurse" con il comando più breve "ll" (LL minuscola), digitare quanto segue:

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

Ora chiudi e riapri PowerShell ed esegui:

ll $ env: windir \ system32 \ logfiles

Cosa sta facendo in realtà? Sta creando una funzione che può essere chiamata con il suo nome, ll, e quella funzione sta eseguendo un comando, get-childitem, passando ad esso qualsiasi argomento, $ args, che capita di essere passato alla funzione quando viene chiamato, e quindi specificando l'opzione -recurse per il comando get-Childitem. Nel nostro comando sopra passiamo "$ env: windir \ system32 \ logfiles" alla nostra funzione ll, il che significa che nella maggior parte delle installazioni di Windows vedremo tutti i contenuti di c: \ windows \ system32 \ logfiles, inclusi tutti sottodirectory.