
Encontré algunas publicaciones sobre alias de línea de comandos en Windows, pero la mayoría de ellas se relacionan con alias de cd
comandos/rutas largas que se usan con frecuencia y no puedo hacer que funcionen para mis necesidades.
En mi caso, paso de un lado a otro entre Windows y MacOS con cierta frecuencia cuando uso los símbolos de comando. Como estoy yendo y viniendo entre los dos, habitualmente entro en uno ls
o dir
en el otro y obtengo un error obvio.
Específicamente para esta pregunta, lo que me gustaría hacer es asignar algún tipo de alias de "ls" a "dir", de modo que si ingreso accidentalmente "ls", obtenga la misma funcionalidad que el comando "dir". No necesito ningún mapeo de parámetros complejo, solo un alias simple para ls
to dir
.
Si hay una solución que funcione para cmd, agradecería la orientación.
Respuesta1
En PowerShell ambos dir
tienen ls
el mismo efecto, uno es un alias del otro.
Respuesta2
En PowerShell, dicho alias ya está presente de forma predeterminada. (Más precisamente, ambosls
y dir
son alias del Get-ChildItem
cmdlet. También tiene alias predeterminados para cat
, rm
, etc.) Así que use DOSKEY solo para Cmd.
Al igual que Bash, PowerShell tiene alias y funciones de shell:
Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name vim -Value notepad.exe
Remove-Item -Path Alias:curl -ErrorAction Ignore
Function kssh {ssh -o PreferredAuthentications=gssapi-with-mic $args}
DOSKEY define alias a nivel de ventana de consola; funcionan en Cmd porque lee una línea completa a la vez y permite que la consola maneje la entrada real (la consola también proporciona la finalización de tabulación de archivos), pero no funcionan en PowerShell porque lee claves en modo "sin formato". una clave a la vez (tiene su propia 'PSReadline' muy parecida a la línea de lectura de Bash).