Cómo encontrar y usar un alias o una función para cmdlets y comandos en Windows PowerShell

Windows PowerShell contiene muchos comandos y cmdlets potentes, pero a veces escribir el nombre completo de los comandos de uso común es una molestia. ¡Buenas noticias! Muchos de los comandos incorporados ya tienen accesos directos, a.k.a. Alias.

Para ver la lista actual de alias, simplemente escriba lo siguiente en PowerShell:

Get-Alias

Aparecerá una lista de alias: comandos a la derecha, alias o acceso directo, a la izquierda. Veamos de nuevo con su propio alias:

galón

Para crear sus propios alias, use el comando Set-Alias. Mira aquí:

ayuda Set-Alias

Tenga en cuenta que los alias que establezca no estarán disponibles una vez que salga de PowerShell, de forma predeterminada. Para que sus "alias de usuario" estén disponibles la próxima vez que abra PowerShell, deberá exportarlos y luego importarlos o colocarlos en su archivo de Perfil de PowerShell.

Probablemente todavía no tenga un archivo de Perfil de PowerShell. Descúbrelo así:

perfil de ruta de prueba $

Esto devuelve True si existe, False si no existe. Crea un nuevo archivo con el siguiente comando:

ni -path $ profile -itemtype file -force

Ahora puede simplemente poner cualquier alias (en realidad, el comando que establece el alias) que desea tener disponible cada vez que inicie PowerShell en ese archivo. Puede hacer esto haciendo eco de su comando set-alias en el archivo, o abriendo el archivo con, por ejemplo, Bloc de notas, y escribiendo el comando manualmente.

Por ejemplo, creamos nuestro propio alias para el comando get-childitem:

set-alias l Get-ChildItem

Ahora simplemente puede escribir l (que es "L" minúscula) para ejecutar el comando Get-ChildItem. Pruébalo con algo como lo siguiente:

l c: \

Para hacer que este alias sea "persistente", simplemente ejecute lo siguiente:

echo “set-alias l Get-ChildItem” >> $ Profile

Una cosa sobre los alias es que no le permiten especificar opciones de comando, por ejemplo, la opción "-recurse" para el comando get-childitem. Para eso, necesitamos crear una función.

Para crear una función que nos permita ejecutar "Get-ChildItem -recurse" con el comando más corto "ll" (en minúsculas "LL"), escriba lo siguiente:

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

Ahora cierre y vuelva a abrir PowerShell, y ejecute:

ll $ env: windir \ system32 \ logfiles

¿Qué está haciendo esto realmente? Está creando una función que puede llamarse por su nombre, ll, y esa función ejecuta un comando, get-childitem, le pasa cualquier argumento, $ args, que pasa a la función cuando se llama, y ​​luego especifica La opción -recurse para el comando get-childitem. En nuestro comando anterior, estamos pasando "$ env: windir \ system32 \ logfiles" a nuestra función ll, lo que significa que en la mayoría de las instalaciones de Windows veremos todo el contenido de c: \ windows \ system32 \ logfiles, incluidos todos subdirectorios.