Quiero usar ls en el símbolo del sistema de Windows y hacer que ejecute el comando dir.
¿Cómo puedo hacer eso?
Quiero usar ls en el símbolo del sistema de Windows y hacer que ejecute el comando dir.
¿Cómo puedo hacer eso?
Respuestas:
Tú podrías:
ls.baty haga que contenga dirsolo el comandols.batexiste el archivo a su PATHvariable de entornoA continuación, puede ejecutar lsdesde un símbolo del sistema.
ls dir:? Creo que tendría que modificar el ls.batmanejar args ... o usted podría intentar alias: superuser.com/questions/49170/create-an-alias-in-windows-xp
Puede resolver esta pregunta con un simple comando:
echo @dir %* > %systemroot%\system32\ls.bat
Asegúrese de ejecutar cmd.exeprimero como administrador si está en vista y superior
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.
@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!
ls *y dir *no hagas lo mismo, por lo que aplicar un alias a dir es un poco complicado.
C:\Program Files (x86)\GnuWin32\bina su ruta
La forma más fácil que he encontrado es:
bindirectorio de Git a tu variable Path. El mío estaba ubicado en C:\Program Files\Git\usr\bin.lsen todo su esplendor.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
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).
¡Eso (debería) funciona!
Editar: Algo más consistente: /superuser/49170/create-an-alias-in-windows-xp
Si tiene Node.js instalado en su sistema, puede instalarlo desde Cash , una biblioteca que escribí para los comandos de Linux en Windows:
npm install cash-ls -g
npm install cash-global -g. Sería genial agregar ls -lcomo ll(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:
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.
+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:
Si solo desea que cmd reconozca lscomo un alias para dir, puede usar el doskeycomando (de esta respuesta en superusuario ).
Esto no cambia el manejo del parámetro de línea de comando original del comando dir.
Recomiendo la siguiente receta.
DOSKEYy $*para crear su lscomando.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 ...
Puede seguir esta guía: https://gist.github.com/vladikoff/38307908088d58af206b
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!
Alguien que use el Subsistema de Linux para Windows podría llamar lsdesde el bash de Linux. El siguiente comando crea el lscomando en System32:
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(La función del subsistema de Linux debe habilitarse / instalarse primero)
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.