# Alias para CMD

Los alias facilitan la ejecución en consola de instrucciones repetitivas, largas o difíciles de recordar. En Windows, se puede crear un archivo `.bat` o `.cmd` donde agregar los alias. Después, para hacer persistentes los alias,

1. Guardar el archivo, por ejemplo en `%USERPROFILE%\alias.cmd`,
    
2. abrir regedit (`Windows + r`, escribir `regedit`, Aceptar),
    
3. acceder a `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor` o, para una versión de Windows menor a 10, `HKEY_CURRENT_USER\Software\Microsoft\Command Processor`, y
    
4. añadir un valor de cadena con nombre `AutoRun` con la ubicación del archivo `.bat` o `.cmd` (`%USERPROFILE%\alias.cmd` si se sigue el ejemplo del paso 1).
    

Un ejemplo de este archivo sería

```bash
@echo off

:: Alias (esto es un comentario)
DOSKEY pa=php artisan $*
DOSKEY frm=php artisan make:filament-relation-manager $1Resource $2 $3 $4
```

Aquí, `DOSKEY` se usa para especificar un alias. El primer alias usa `pa` en lugar de `php artisan`. El símbolo `$*` se usa para indicar que cualquier texto después de `pa` se agregará a la instrucción, de modo que escribir `pa optimize` sería equivalente a escribir `php artisan optimize`.

El segundo alias utiliza `$1`, `$2`, `$3` y `$4` que funcionan como parámetros opcionales por posición. Así, cuando se escribe `frm Curso alumnos id --attach`, el alias se convierte en `php artisan make:filament-relation-manager CursoResource alumnos id --attach`. Este mismo alias pudo haberse escrito como

```bash
DOSKEY frm=php artisan make:filament-relation-manager $1Resource $*
```

y seguiría siendo equivalente al ejemplo anterior.

## Referencia

* [https://stackoverflow.com/a/21040825/3113008](https://stackoverflow.com/a/21040825/3113008)
    

## Recursos adicionales

* [https://github.com/cmderdev/cmder](https://github.com/cmderdev/cmder)
    
* [https://www.youtube.com/watch?v=ZaYEernZ1cA](https://www.youtube.com/watch?v=ZaYEernZ1cA)
    
* [https://www.youtube.com/watch?v=DPPReFyVNwI](https://www.youtube.com/watch?v=DPPReFyVNwI)
