Uso de alias

Un alias es un nombre alternativo o un nombre abreviado para un cmdlet o para un elemento de comando, como una función, un script, un archivo o un archivo ejecutable. Puede ejecutar el comando con el alias en lugar del nombre ejecutable.

Administración de alias de comandos

PowerShell proporciona cmdlets para administrar alias de comandos.

Get-Command -Noun Alias
CommandType Name         Version Source
----------- ----         ------- ------
Cmdlet      Export-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Import-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Remove-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Set-Alias    7.0.0.0 Microsoft.PowerShell.Utility

Para más información, vea about_Aliases.

Use el cmdlet Get-Alias para enumerar los alias disponibles en el entorno. Para enumerar los alias de un único cmdlet, use el parámetro Definition y especifique el nombre ejecutable.

Get-Alias -Definition Get-ChildItem
CommandType     Name
-----------     ----
Alias           dir -> Get-ChildItem
Alias           gci -> Get-ChildItem
Alias           ls -> Get-ChildItem

Para obtener la definición de un único alias, use el parámetro Name.

Get-Alias -Name gci
CommandType     Name
-----------     ----
Alias           gci -> Get-ChildItem

Alias de compatibilidad en Windows

PowerShell tiene varios alias que permiten a los usuarios de UNIX y cmd.exe utilizar comandos familiares en Windows. En la tabla siguiente se muestran comandos comunes, el cmdlet de PowerShell relacionado y el alias de PowerShell:

Comando cmd.exe Comando de UNIX Cmdlet de PowerShell Alias de PowerShell
cd, chdir cd Set-Location sl, cd, chdir
cls eliminar Clear-Host cls clear
copy cp Copy-Item cpi, cp, copy
del, erase, rd, rmdir rm Remove-Item ri, del, erase, rd, rm, rmdir
dir ls Get-ChildItem gci, dir, ls
echo echo Write-Output write echo
md mkdir New-Item ni
move mv Move-Item mi, move, mi
popd popd Pop-Location popd
pwd Get-Location gl, pwd
pushd pushd Push-Location pushd
ren mv Rename-Item rni, ren
type cat Get-Content gc, cat, type

Nota:

Los alias de esta tabla son específicos de Windows. Algunos alias no están disponibles en otras plataformas. Esto es así para permitir que el comando nativo funcione en una sesión de PowerShell. Por ejemplo, ls no se define como un alias de PowerShell en macOS ni Linux, por lo que en lugar de Get-ChildItem se ejecuta el comando nativo.

Creación de nombres alternativos para comandos con parámetros

Puede asignar un alias a un cmdlet, script, función o archivo ejecutable. A diferencia de algunos shells de Unix, no se puede asignar un alias a un comando con parámetros. Por ejemplo, puede asignar un alias al cmdlet Get-Eventlog, pero no al comando Get-Eventlog -LogName System. Tendrá que crear una función que contenga el comando con parámetros.

Para más información, vea about_Aliases.

Alias de parámetro y nombres abreviados

PowerShell también proporciona maneras de crear nombres abreviados para parámetros. Los alias de parámetro se definen mediante el atributo Alias al declarar el parámetro. No se pueden definir mediante los cmdlets *-Alias.

Para más información, vea la documentación del atributo de alias.

Además de los alias de parámetro, PowerShell permite especificar el nombre del parámetro con la menor cantidad de caracteres necesarios para identificar de forma única el parámetro. Por ejemplo, el cmdlet Get-ChildItem tiene los parámetros Recurse y ReadOnly. Para identificar de forma única el parámetro Recurse, solo debe proporcionar -rec. Si lo combina con el alias de comando, Get-ChildItem -Recurse se puede abreviar como dir -rec.

No usar alias en scripts

Los alias son una característica de conveniencia para usar de forma interactiva en el shell. Siempre debe usar los nombres de parámetros y comandos completos en los scripts.

  • Los alias se pueden eliminar o redefinir en un script de perfil
  • Es posible que los alias que defina no estén disponibles para el usuario de los scripts
  • Los alias hacen que el código sea más difícil de leer y mantener