¿Cómo crear LS en el símbolo del sistema de Windows?
-
28-10-2019 - |
Pregunta
Quiero usar el símbolo del sistema LS en Windows y hacer que ejecute el comando Dir.
¿Cómo puedo hacer eso?
Solución
Tú podrías:
- crear un archivo por lotes llamado
ls.bat
y que contenga eldir
órdene solo - Agregue el directorio donde el
ls.bat
El archivo existe a suPATH
Variable ambiental
Entonces podrías ejecutar ls
desde un símbolo del sistema.
Otros consejos
Puede resolver esta pregunta con un comando simple:
echo @dir %* > %systemroot%\system32\ls.bat
Asegúrate de correr cmd.exe
como administrador primero si estás en Vista y arriba
Es una vieja pregunta pero para el registro:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
¡Te da LS y mucho más!
La forma más fácil que he encontrado es:
- Instalar Git para Windows
- Añade el
bin
Directorio de Git a su variable de ruta. El mío estaba ubicado enC:\Program Files\Git\usr\bin
. - Comience un símbolo del sistema y disfrute
ls
en todo su gloria.
Tengo una solución pero está sucio:
Cree un archivo llamado LS.Bat que contenga solo "Dir".
Póngalo en C: Windows System32 (o cualquier directorio en la ruta env var).
¡Eso (debería) funciona!
Editar: algo más consistente: https://superuser.com/questions/49170/create-an-alias-in-windows-xp
El símbolo del sistema de Windows para Vista/7 permitirá enlaces simbólicos NTFS, ejecute cmd.exe como administrador y luego:
mklink ls %System%\dir.exe
Luego configure su variable de entorno de ruta para incluir la ubicación del enlace que acaba de crear.
Si quieres más que solo el comando 'ls', debes investigar cygwin.
Editar- acabo de darme cuenta dir.exe
No es un programa separado, por lo que esto realmente no funciona. Pero mklink
Y Cygwin son cosas buenas que saber.
+1 en la publicación anterior sugiriendo instalar Git para Windows y agregue el contenedor de directorio a sus variables de ruta.
Otra forma en que obtuve Touch, LS y muchos otros comandos UNIX que funcionan en CMD.EXE en mis máquinas Windows 8 y Windows 7.
Vaya al siguiente sitio para instalar cygwin
https://www.cygwin.com/install.html
Instale la versión de 32 o 64 bits para su sistema. La configuración y los paquetes predeterminados deben incluir lo que necesita para que no tenga que cambiar nada una vez que llegue a la pantalla de paquetes.
Después de la instalación, copie la ruta de la carpeta Cygwin a las variables de su ruta de entorno. Por ejemplo; Si instaló Cygwin a C: cygwin, agregará lo siguiente a las variables de ruta del sistema de entorno:
; C: cygwin bin
En mi sistema instalé la versión de 64 bits y el nombre y la ruta de la carpeta predeterminados fueron c: cygwin64. Así que agregué lo siguiente a las variables de ruta de entorno de mi sistema:
; C: cygwin64 bin
Reinicie su terminal si está abierto. Luego escriba LS y verá un listado de directorio.
Consulte lo siguiente si no está familiarizado con la configuración de las variables de entorno de ruta:
Si solo quieres que CMD reconozca ls
como alias para dir
, puedes usar el doskey
comando (desde Esta respuesta en Superuser).
Esto no cambia el manejo del parámetro de línea de comando original del comando Dir.
También podrías usar cygwin Y simplemente use el comando LS directamente junto con todas las otras herramientas de línea de comando UNIX a las que podría estar acostumbrado.
mi ls.bat estaba debajo
@dir %*
que puede transferir CLI Args
ls /b
ls /w
Póngalo en % Windir % o cualquier directorio en su variable de % de ruta %.
Solo asegúrese de guardar el archivo con la codificación ANSI :)
Recomiendo la siguiente receta.
- Usar
DOSKEY
y$*
Para crear tuls
dominio. - Haga que el comando sea persistente registrándolo en un archivo .bat/.cmd y agregue la ruta del archivo al registro.
Por ejemplo, su comando puede parecer
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
es útil para los comandos que toman argumentos. Por ejemplo, aquí me gusta poder hacer sublime my_code.c
.
El Registro para CMD está en HKEY_CURRENT_USER -> Software -> Microsoft -> Procesador de comando. Crear una entrada valorada en cadena llamada Autorun con el completo ruta del archivo (no la carpeta de contenido) como %USERPROFILE%\custom_command.cmd
. Luego, cada vez que se ejecute CMD, ¡su comando se cargará!
También puede agregar más cosas útiles al archivo por lotes. Ver aquí Para una plantilla de ejemplo.
Otra solución que funcionó para mí es usar Unxutilos, que agrega múltiples utilidades de archivos ejecutables (incluido ls
, sed
, y grep
).
Para usar: descargar código fuente. Abrir la cremallera. Añade el UnxUtils\usr\local\wbin
ruta a la variable de ruta de Windows. Inicie una nueva instancia de CMD.
Seguramente LS no funcionaría como un comando UNIX para los lotes. Si verifica %1 para -l o -a, etc. y todas las combinaciones de ellos, funcionaría ...
Podrías seguir esta guía:https://gist.github.com/vladikoff/38307908088d58af206b
Tl; Dr: pasar /K path/to/custom/init_cmd.bat
a su comando "shell startup".
Estoy usando Consolez como mi envoltorio de shell, así que en mi caso puedo encontrar la opción de configuración en "pestañas", luego configuré la ruta de shell a "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
como esto.
Dónde C:\cmd_init.bat
¿Está el script por lotes que contiene mis macros, esto es lo que buscaría:
@echo off
doskey ls=dir /b
rem other macro stuff..
Perdón por el formato y otros errores, esta es la primera vez que respondo aquí. ¡Espero que ayude!
Alguien que use el subsistema de Linux para Windows podría llamar ls
De la fiesta de Linux. El siguiente comando crea el ls
Comando en System32:
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(La función del subsistema de Linux debe estar habilitado/instalado primero)
Aquí está mi C# Código fuente y binario.
Simplemente agregue ls.exe en algún lugar y agregue la ruta a la variable de entorno de ruta.