- PowerShell permite crear alias temporales y permanentes fácilmente, mientras que en CMD hay que recurrir a scripts o enlaces simbólicos para conseguir funcionalidades similares.
- La personalización de alias en PowerShell se puede exportar/importar e incluso automatizar con perfiles, abriendo grandes posibilidades de productividad.
- En CMD, aunque la creación de alias es menos directa, existen trucos y métodos para emular el comportamiento mediante archivos bat, cmd o mklink, permitiendo adaptar comandos entre sistemas.
Personalizar la terminal de Windows es posible y puede ahorrarte mucho tiempo, especialmente si sueles repetir comandos largos o quieres adaptar tu flujo de trabajo al estilo de Unix o Linux. Una de las mejores formas de conseguirlo es mediante la creación de alias, es decir, comandos abreviados o alternativos que ejecutan instrucciones más complejas. Sin embargo, el proceso para lograrlo varía mucho entre CMD (Command Prompt) y PowerShell, por lo que es esencial conocer todas las alternativas y trucos.
A lo largo de este artículo encontrarás una guía detallada, clara y sin rodeos sobre cómo crear, gestionar y hacer persistentes tus propios alias de comandos tanto en PowerShell como en CMD. Además, aprenderás los límites y ventajas propias de cada terminal, métodos para exportar/importar tus alias, consejos para usarlos en entornos colaborativos y cómo emular comandos de Linux en tu consola de Windows. Prepárate para llevar tu productividad en la terminal a otro nivel.
¿Qué es un alias en la terminal de Windows?
Un alias es básicamente un apodo o nombre alternativo para un comando o conjunto de comandos. Te permite ejecutar acciones completas con sólo escribir una palabra corta en vez de una instrucción extensa o difícil de recordar. Por ejemplo, puedes crear el alias list para mostrar el contenido de una carpeta, lanzar aplicaciones, o automatizar tareas complejas con solo escribir un comando abreviado.
En PowerShell, el sistema incorpora desde el inicio una gran cantidad de alias tanto para usuarios de Windows como de UNIX/Linux, permitiendo que comandos populares como ls, pwd, cd, cat, mv, cp, rm o dir funcionen igual que en otros sistemas operativos. Además, puedes definir tus propios alias según tus necesidades. En CMD, el proceso no es tan directo, pero existen métodos ingeniosos para conseguir algo similar y hasta adaptar tus scripts para que funcionen en ambos entornos.
Alias en PowerShell: posibilidades, ventajas y limitaciones
PowerShell es, sin duda, la reina en cuanto a flexibilidad y facilidad para crear y gestionar alias. Puedes asignar alias a casi cualquier comando, función, script, o incluso a ejecutables, ampliando enormemente las opciones de personalización.
Existen dos tipos principales de alias en PowerShell:
- Alias predefinidos: Listado integrado que mapea comandos comunes de Windows, UNIX y propios de PowerShell a sus respectivos cmdlets. Por ejemplo, dir es un alias de Get-ChildItem, ls también apunta a Get-ChildItem, y cat es un alias de Get-Content.
- Alias definidos por el usuario: Alias personalizados que tú mismo creas para automatizar flujos de trabajo, abreviar comandos largos o adaptar la terminal a tus preferencias.
Cómo ver los alias actuales
Para consultar todos los alias disponibles en tu sesión de PowerShell, ejecuta:
Get-Alias
Este comando te muestra una tabla con los nombres de los alias y los comandos a los que hacen referencia. Si quieres ver los alias que apuntan a un determinado cmdlet, por ejemplo Get-ChildItem, hazlo así:
Get-Alias -Definition Get-ChildItem
¿Te interesa saber qué comando hay detrás de un alias concreto, como gci? Utiliza:
Get-Alias -Name gci
Crear un alias en PowerShell con Set-Alias
La forma estándar de crear alias en PowerShell es mediante el cmdlet Set-Alias. Su sintaxis básica es:
Set-Alias -Name acortado -Value ComandoOriginal
Ejemplo práctico: Supón que quieres crear el alias list para el comando Get-ChildItem:
Set-Alias -Name list -Value Get-ChildItem
A partir de ese instante, puedes escribir list en la terminal y automáticamente ejecutará Get-ChildItem.
Reasignar o modificar un alias existente
Si ya tienes un alias creado y quieres asignarlo a otro comando distinto, simplemente vuelve a ejecutar Set-Alias con el mismo nombre y el nuevo valor:
Set-Alias -Name list -Value Get-Location
Así, el alias list apuntará ahora a Get-Location en vez de Get-ChildItem.
Alias de solo lectura y opciones avanzadas
Puedes proteger tus alias para evitar que se modifiquen o borren accidentalmente. Por ejemplo, para crear un alias de solo lectura:
Set-Alias -Name loc -Value Get-Location -Option ReadOnly
Si después necesitas modificar o eliminar ese alias, deberás utilizar el parámetro -Force:
Set-Alias -Name loc -Value Get-ChildItem -Force
Alias para comandos con parámetros: creando funciones
El mayor ‘truco’ de PowerShell es que no puedes crear un alias directo a un comando con parámetros (por ejemplo, Get-ChildItem -Path C:\Windows). Pero sí puedes envolverte en una función y asociar el alias a esa función, como un pequeño script dentro de tu perfil:
function CD32 { Set-Location -Path C:\Windows\System32 }
Set-Alias -Name Go -Value CD32
Ahora, al escribir Go accederás directamente a esa carpeta.
Este método permite crear alias complejos, que pueden recibir parámetros, hacer validaciones o ejecutar múltiples líneas.
Haciendo los alias permanentes en PowerShell: utilizando tu perfil
Por defecto, los alias creados con Set-Alias existen solo durante la sesión actual. Al cerrar PowerShell se pierden. Para evitar esto, los usuarios avanzados utilizan los perfiles de PowerShell, que son scripts que se ejecutan cada vez que abres la terminal y pueden contener cualquier configuración personalizada, incluidos alias y funciones.
Para averiguar dónde está tu perfil:
echo $PROFILE
Para editarlo (o crearlo si no existe):
notepad $PROFILE
En ese archivo puedes pegar todas las funciones y alias que quieras que estén siempre disponibles al iniciar la terminal. Por ejemplo:
function GS { Get-Service }
Set-Alias gs GS
Guarda, cierra, y cuando abras una nueva terminal verás tus alias listos para usar.
Modificando políticas de ejecución para que los alias funcionen siempre
Puede que recibas errores al intentar cargar scripts desde el perfil, ya que PowerShell por seguridad restringe la ejecución de scripts.
Verifica el estado actual con:
Get-ExecutionPolicy
Para permitir que tus scripts se ejecuten (al menos los locales, no descargados de Internet), debes establecer la política en RemoteSigned:
Set-ExecutionPolicy RemoteSigned
Confirma la acción y, tras reiniciar la terminal, tus alias definidos en el perfil siempre estarán disponibles.
Exportar e importar alias personalizados
¿Quieres llevarte tus alias a otro equipo o compartirlos? PowerShell permite exportar todos los alias a un archivo:
Export-Alias -Path MisAlias.txt
Ten en cuenta que esto exportará todos, incluidos los que ya existen por defecto. Si solo quieres uno, usa el parámetro -Name:
Export-Alias -Path MisAlias.txt -Name gs
Para importarlos en otra máquina o sesión:
Import-Alias -Path MisAlias.txt
Si ya existen algunos alias, aparecerán advertencias, pero los nuevos se agregarán correctamente.
Alias en CMD: trucos, scripts y limitaciones
A diferencia de PowerShell, CMD (Command Prompt) no admite alias nativos como tal. Sin embargo, existen algunas soluciones prácticas para emular esta funcionalidad:
- Enlaces simbólicos (mklink): Permite crear una especie de acceso directo ejecutable a otro programa, útil especialmente para scripts o aplicaciones. Puedes aprender más sobre cómo borrar la pantalla en CMD y optimizar tus scripts.
- Archivos por lotes (.bat o .cmd): Puedes crear tus propios scripts con el nombre del alias deseado y colocarlos en una carpeta incluida en la variable de entorno PATH.
Creando enlaces simbólicos en CMD
Supón que quieres crear un ‘alias’ llamado python para ejecutar tu intérprete de Python. Puedes hacer algo así:
mklink python.exe "C:\ruta\a\python.exe"
Coloca el enlace en una carpeta que esté en tu PATH, y desde cualquier parte podrás lanzar tu alias.
Alias básicos con archivos .bat
La solución más habitual y versátil es crear un archivo .bat o .cmd para cada alias. Por ejemplo, para crear un alias ‘ls’ que muestre los archivos y carpetas actuales:
@echo off
dir /b %*
Guarda este archivo como ls.bat y ponlo en una carpeta que esté en el PATH (puedes añadir tu propia carpeta personalizada a PATH para no ensuciar system32).
Este método permite incluso simular alias para comandos que utilicen parámetros:
@echo off
del %*
Así, puedes crear alias como ls, cp, mv, rm, clear o cualquier otro que quieras importar de Unix/Linux.
Alias avanzados: scripts con lógica y parámetros
Los archivos .bat pueden recibir parámetros y contener lógica adicional. Por ejemplo, puedes crear un alias llamado grep.bat para buscar texto en archivos:
findstr %*
O uno para simular touch y crear archivos vacíos:
type nul > %*
Incluso puedes crear archivos .bat para abrir programas concretos como Notepad++ (nano.bat):
start "" "C:\Program Files\Notepad++\notepad++.exe" %*
Adaptando scripts y alias entre CMD y PowerShell
Muchos usuarios acostumbrados a Linux agradecen poder llamar a comandos como ls, cp, mv, rm, cat, grep o nano en Windows. Una práctica habitual es crear alias que simulan estos comandos, bien con scripts .bat para CMD o mapeando alias en PowerShell. De esta forma, puedes hacer que tus scripts funcionen en diferentes entornos.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.