Pregunta

Quiero usar el símbolo del sistema LS en Windows y hacer que ejecute el comando Dir.

¿Cómo puedo hacer eso?

¿Fue útil?

Solución

Tú podrías:

  • crear un archivo por lotes llamado ls.bat y que contenga el dir órdene solo
  • Agregue el directorio donde el ls.bat El archivo existe a su PATH 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:

  1. Instalar Git para Windows
  2. Añade el bin Directorio de Git a su variable de ruta. El mío estaba ubicado en C:\Program Files\Git\usr\bin.
  3. 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

Si usted tiene Node.js Instalado en su sistema, puede instalarlo desde Dinero, una biblioteca que escribí para los comandos de Linux en Windows:

npm install cash-ls -g

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:

Enlace de Superuser 1

Superuser Link 2

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.

  1. Usar DOSKEY y $* Para crear tu ls dominio.
  2. 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top