Uso de alias de comando en PowerShell

Completado

Si tiene experiencia con el shell tradicional del símbolo de sistema de Windows (cmd.exe), es probable que también esté familiarizado con los comandos por lotes, como:

  • dir para enumerar archivos y carpetas.
  • cd para cambiar de directorios.
  • mkdir para crear nuevos directorios.

En muchos casos, puede seguir usando estos comandos en Windows PowerShell porque, en segundo plano, estos comandos ejecutan cmdlets nativos de PowerShell. El comando dir ejecuta Get-ChildItem, el comando cd ejecuta Set-Location y el comando mkdir ejecuta New-Item. Estos comandos funcionan con PowerShell porque son alias de los cmdlets que realizan la acción equivalente.

Alias y parámetros

Es importante tener en cuenta que los alias normalmente no admiten los parámetros que usan los comandos originales. Por ejemplo, si ejecuta el comando dir /o:d en la consola, recibirá un error porque Get-ChildItem no reconoce el parámetro /o:d. En su lugar, puede usar el dir | sort LastAccessTime para enumerar el contenido de la carpeta actual ordenada por fecha y hora a la que se ha accedido por última vez en orden ascendente.

Get-Alias

PowerShell incluye algo más que alias para comandos por lotes heredados y de Linux. También proporciona otros alias, como gci para Get-ChildItem, que puede usar para reemplazar un comando completo por su notación abreviada y minimizar la cantidad de escritura necesaria. Puede detectar alias, sus definiciones y los comandos que ejecutan mediante el cmdlet Get-Alias. Get-Alias sin parámetros devuelve todos los alias definidos. Puede usar el parámetro -Name, un parámetro posicional, que también acepta caracteres comodín, para buscar la definición de alias específicos. Por ejemplo, al ejecutar el comando Get-Alias di*, se devuelven alias de diff y dir.

También puede usar el cmdlet Get-Alias para detectar nuevos cmdlets. Por ejemplo, use el comando batch del para eliminar un archivo o una carpeta. Puede escribir el comando Get-Alias del para detectar que del es un alias de Remove-Item. Incluso puede invertir el proceso de detección ejecutando el comando Get-Alias -definition Remove-Item para detectar que Remove-Item tiene otros alias, como rd, erase y ri.

Los parámetros también pueden tener alias. Por ejemplo, el parámetro -s es un alias de -Recurse en el cmdlet Get-ChildItem . De hecho, en el caso de los parámetros, puede usar nombres de parámetro parciales como alias si la parte del nombre que se incluye en el comando es suficiente para identificar de forma única ese parámetro.

New-Alias

También puede usar el cmdlet New-Alias para crear un alias personalizado que pueda asignar a cualquier cmdlet existente. Sin embargo, tenga en cuenta que los alias personalizados no se guardan entre sesiones de Windows PowerShell. Puede usar un perfil de Windows PowerShell para volver a crear el alias cada vez que abra Windows PowerShell.

Lectura adicional: Para más información sobre cómo crear y usar un perfil de PowerShell, consulte about_Profiles.

Inconvenientes de los alias

Los alias pueden ayudarle a escribir comandos más rápidamente, pero tienden a dificultar la revisión y comprensión de los scripts. Una de las razones es que la sintaxis de verbo-sustantivo define claramente la acción que tiene lugar. Crea comandos que leen y suenan más como el lenguaje natural. Los alias de parámetros y nombres de parámetros parciales hacen que los scripts sean aún más difíciles de revisar. En la mayoría de los casos, el uso de la finalización con tabulación hará que la entrada de comandos sea casi tan rápida como escribir un nombre de alias y, al mismo tiempo, garantiza su precisión.