Algunas de las respuestas son bastante interesantes, pero ¿qué es exactamente lo que está mal con el comando 'dir'?
Matt Donnan
3
@MattDonnan Estoy acostumbrado a ls y pongo una cara graciosa cuando lo hago en Windows. Ya no ^^
aF.
1
@DavidHeffernan porque no existe en Windows?
aF.
1
Claro que sí. Lo uso todos los dias.
David Heffernan
1
@aF. Estoy usando Windows 7, pero ejecuto ls en cualquier versión de Windows. No estoy diciendo que Windows venga con ls, solo que al ser de código abierto y tener buenos puertos de Windows, es trivial ejecutarlo en Windows. Mira GnuWin32.
David Heffernan
Respuestas:
117
Tú podrías:
cree un archivo por lotes llamado ls.baty haga que contenga dirsolo el comando
agregue el directorio donde ls.batexiste el archivo a su PATHvariable de entorno
A continuación, puede ejecutar lsdesde un símbolo del sistema.
Ojalá pudiera calificar esto más de una vez. Funcionó maravillosamente.
MrHappyAsthma
4
Esto es mejor porque aún puede usar las opciones de dir.
ajon
17
En su lugar, recomendaría usarlo dir %*para permitir que cualquier número de argumentos de línea de comando se pasen a dir a través de ls.bat. De lo contrario, usando dir %1, como máximo, solo puede usar un argumento cuando use el script ls.
Adaline Simonian
2
@Vartan es una pena que tu comentario sea el primero por debajo del umbral de "mostrar más". Con suerte, @secghost verá esto y modificará su respuesta algún día. Me gustaría agregar que hacerlo @dir %*también eliminará la línea adicional, por lo que es aún más idéntico adir
Capitán Man
1
@CaptainMan ¡Oh, sí! Totalmente olvidado @; ingeniosa sintaxis para evitar un desorden de salida. Sin embargo, sería mucho más fácil si Windows fuera compatible con POSIX. Al menos podemos soñar.
Gran sugerencia que da acceso a la funcionalidad completa lsy todos sus argumentos opcionales. Solo una pequeña actualización, instalé la última versión de git para Windows y ls.exe ahora se puede encontrar en C: \ Archivos de programa \ Git \ usr \ bin
phil
Sí, o simplemente inicie bash.exe en la carpeta git (en lugar de cmd) y disfrute de un ~ shell completo (con ls).
Johan
fiesta de Git es horrible, me gusta la opción de ruta
omikes
16
Tengo una solución pero está sucia:
Cree un archivo llamado ls.bat que contenga solo "dir".
Ponlo en C: \ windows \ system32 (o cualquier directorio en PATH env var).
la mejor solución para el usuario de Linux en Windows npm install cash-global -g. Sería genial agregar ls -lcomo ll(LL) también.
user2925656
Es un compañero salvador
HebleV
6
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 PATH para incluir la ubicación del enlace que acaba de crear.
Si desea algo más que el comando 'ls', debe buscar en cygwin .
EDITAR: me acabo de dar cuenta de dir.exeque no es un programa separado, por lo que esto realmente no funciona. Pero mklinky cygwin son cosas buenas que debe conocer.
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 ruta de su entorno. Por ejemplo; si instaló cygwin en C: \ Cygwin, agregará lo siguiente a las variables de ruta del sistema de su entorno:
; C: \ Cygwin \ bin
En mi sistema instalé la versión de 64 bits y el nombre de carpeta y la ruta predeterminados eran C: \ cygwin64. Así que agregué lo siguiente a las variables de ruta del entorno de mi sistema:
; C: \ cygwin64 \ bin
Reinicie su terminal si está abierto. Luego escriba ls y verá una lista de directorio.
Consulte lo siguiente si no está familiarizado con la configuración de las variables de entorno PATH:
también puede usar cygwin y simplemente usar el comando ls directamente junto con todas las otras herramientas de línea de comandos de Unix a las que podría estar acostumbrado.
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" $* $*útil para comandos que toman argumentos. Por ejemplo, aquí me gusta poder hacer sublime my_code.c.
El registro de cmd está en HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Cree una entrada con valor de cadena denominada Ejecución automática con la ruta completa del archivo (no la carpeta que lo contiene) como %USERPROFILE%\custom_command.cmd. Luego, cada vez que se ejecute cmd, ¡se cargará su comando!
También puede agregar más cosas útiles al archivo por lotes. Vea aquí una plantilla de ejemplo.
Otra solución que funcionó para mí es utilizar UnxUtils , lo que añade múltiples utilidades de los archivos ejecutables (incluyendo ls, sedy grep).
Para usar: descargue el código fuente . Abrir la cremallera. Agregue la UnxUtils\usr\local\wbinruta a la variable PATH de Windows. Inicie una nueva instancia de CMD.
Seguramente ls no funcionaría como un comando de Unix para los lotes. Si marca% 1 para -l o -a, etc. y todas las combinaciones de ellos, funcionaría ...
TL; DR : pase /K path/to/custom/init_cmd.bata su comando de "inicio de shell".
Estoy usando ConsoleZ como mi envoltorio de shell, por lo que en mi caso puedo encontrar la opción de configuración en "pestañas", luego configuro la ruta del shell de "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""esta manera .
¿Dónde C:\cmd_init.batestá 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!
Respuestas:
Tú podrías:
ls.bat
y haga que contengadir
solo el comandols.bat
existe el archivo a suPATH
variable de entornoA continuación, puede ejecutar
ls
desde un símbolo del sistema.fuente
ls dir
:? Creo que tendría que modificar ells.bat
manejar args ... o usted podría intentar alias: superuser.com/questions/49170/create-an-alias-in-windows-xpPuede resolver esta pregunta con un simple comando:
Asegúrese de ejecutar
cmd.exe
primero como administrador si está en vista y superiorfuente
dir %*
para permitir que cualquier número de argumentos de línea de comando se pasen a dir a través de ls.bat. De lo contrario, usandodir %1
, como máximo, solo puede usar un argumento cuando use el script ls.@dir %*
también eliminará la línea adicional, por lo que es aún más idéntico adir
@
; ingeniosa sintaxis para evitar un desorden de salida. Sin embargo, sería mucho más fácil si Windows fuera compatible con POSIX. Al menos podemos soñar.Es una vieja pregunta pero para que conste:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
¡Te da ls y mucho más!
fuente
ls *
ydir *
no hagas lo mismo, por lo que aplicar un alias a dir es un poco complicado.C:\Program Files (x86)\GnuWin32\bin
a su rutaLa forma más fácil que he encontrado es:
bin
directorio de Git a tu variable Path. El mío estaba ubicado enC:\Program Files\Git\usr\bin
.ls
en todo su esplendor.fuente
ls
y todos sus argumentos opcionales. Solo una pequeña actualización, instalé la última versión de git para Windows y ls.exe ahora se puede encontrar en C: \ Archivos de programa \ Git \ usr \ binTengo una solución pero está sucia:
Cree un archivo llamado ls.bat que contenga solo "dir".
Ponlo en C: \ windows \ system32 (o cualquier directorio en PATH env var).
¡Eso (debería) funciona!
Editar: Algo más consistente: /superuser/49170/create-an-alias-in-windows-xp
fuente
Si tiene Node.js instalado en su sistema, puede instalarlo desde Cash , una biblioteca que escribí para los comandos de Linux en Windows:
fuente
npm install cash-global -g
. Sería genial agregarls -l
comoll
(LL) también.El símbolo del sistema de Windows para Vista / 7 permitirá enlaces simbólicos NTFS, ejecute cmd.exe como administrador y luego:
Luego configure su variable de entorno PATH para incluir la ubicación del enlace que acaba de crear.
Si desea algo más que el comando 'ls', debe buscar en cygwin .
EDITAR: me acabo de dar cuenta de
dir.exe
que no es un programa separado, por lo que esto realmente no funciona. Peromklink
y cygwin son cosas buenas que debe conocer.fuente
+1 en la publicación anterior que sugiere instalar git para Windows y agregar el directorio bin a sus variables de ruta.
Otra forma en que obtuve touch, ls y muchos otros comandos UNIX trabajando en cmd.exe en mis máquinas con 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 ruta de su entorno. Por ejemplo; si instaló cygwin en C: \ Cygwin, agregará lo siguiente a las variables de ruta del sistema de su entorno:
; C: \ Cygwin \ bin
En mi sistema instalé la versión de 64 bits y el nombre de carpeta y la ruta predeterminados eran C: \ cygwin64. Así que agregué lo siguiente a las variables de ruta del entorno de mi sistema:
; C: \ cygwin64 \ bin
Reinicie su terminal si está abierto. Luego escriba ls y verá una lista de directorio.
Consulte lo siguiente si no está familiarizado con la configuración de las variables de entorno PATH:
Enlace de superusuario 1
Enlace de superusuario 2
fuente
Si solo desea que cmd reconozca
ls
como un alias paradir
, puede usar eldoskey
comando (de esta respuesta en superusuario ).Esto no cambia el manejo del parámetro de línea de comando original del comando dir.
fuente
también puede usar cygwin y simplemente usar el comando ls directamente junto con todas las otras herramientas de línea de comandos de Unix a las que podría estar acostumbrado.
fuente
mi murciélago estaba abajo
que puede transferir cli args
colóquelo en% windir% o en cualquier directorio de su variable% PATH%.
Solo asegúrese de guardar el archivo con codificación ANSI :)
fuente
Recomiendo la siguiente receta.
DOSKEY
y$*
para crear suls
comando.Por ejemplo, su comando puede parecer
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
útil para comandos que toman argumentos. Por ejemplo, aquí me gusta poder hacersublime my_code.c
.El registro de cmd está en HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Cree una entrada con valor de cadena denominada Ejecución automática con la ruta completa del archivo (no la carpeta que lo contiene) como
%USERPROFILE%\custom_command.cmd
. Luego, cada vez que se ejecute cmd, ¡se cargará su comando!También puede agregar más cosas útiles al archivo por lotes. Vea aquí una plantilla de ejemplo.
fuente
Otra solución que funcionó para mí es utilizar UnxUtils , lo que añade múltiples utilidades de los archivos ejecutables (incluyendo
ls
,sed
ygrep
).Para usar: descargue el código fuente . Abrir la cremallera. Agregue la
UnxUtils\usr\local\wbin
ruta a la variable PATH de Windows. Inicie una nueva instancia de CMD.fuente
Seguramente ls no funcionaría como un comando de Unix para los lotes. Si marca% 1 para -l o -a, etc. y todas las combinaciones de ellos, funcionaría ...
fuente
Puede seguir esta guía: https://gist.github.com/vladikoff/38307908088d58af206b
TL; DR : pase
/K path/to/custom/init_cmd.bat
a su comando de "inicio de shell".Estoy usando ConsoleZ como mi envoltorio de shell, por lo que en mi caso puedo encontrar la opción de configuración en "pestañas", luego configuro la ruta del shell de
"C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
esta manera .¿Dónde
C:\cmd_init.bat
está el script por lotes que contiene mis macros? Esto es lo que buscaría:Perdón por el formato y otros errores, esta es la primera vez que respondo aquí. ¡Espero que ayude!
fuente
Alguien que use el Subsistema de Linux para Windows podría llamar
ls
desde el bash de Linux. El siguiente comando crea ells
comando en System32:(La función del subsistema de Linux debe habilitarse / instalarse primero)
fuente
Aquí está mi código fuente y binario de C # .
Simplemente agregue ls.exe en algún lugar y agregue la ruta a la variable de entorno de ruta.
fuente