tagspace tag files and windows cmd escaping

windows - tag - ¿Cómo uso espacios en el símbolo del sistema?



tag folders (9)

¿Cómo puedo usar espacios en la línea de comandos de Windows?

cmd /C C:/Program Files (x86)/WinRar/Rar.exe a D:/Hello 2/File.rar D:/Hello 2/*.*


Acabo de descubrir que para un caso en el que la ruta implica el uso de caracteres en blanco, por ejemplo, cuando necesito acceder a la aplicación xyz qué ubicación es:

C:/Program Files/ab cd/xyz.exe.

Para ejecutar esto desde el indicador de Windows cmd, debe usar

C:/"Program Files"/"ab cd"/xyz.exe OR "C:/Program Files/ab cd/xyz.exe"


Deberías intentar usar comillas.

cmd /C "C:/Program Files (x86)/WinRar/Rar.exe" a "D:/Hello 2/File.rar" "D:/Hello 2/*.*"


Encierre las rutas que contienen espacios con comillas dobles.

cmd /C "C:/Program Files (x86)/WinRar/Rar.exe" a "D:/Hello 2/File.rar" "D:/Hello 2/*.*"


Intente proporcionar nombres de rutas complejos entre comillas dobles (e incluya extensiones de archivos al final de los archivos).

Para archivos:

call "C:/example file.exe"

Para el directorio:

cd "C:/Users/User Name/New Folder"

Es aplicable en todos los problemas de direcciones similares también. Y una cosa buena, cmd no es sensible a mayúsculas y minúsculas como bash. Así que "New fiLE.txt" y "new file.TXT" son iguales.


Las comillas simples no funcionarán en ese caso. Debe agregar comillas en cada ruta y también incluir todo el comando entre comillas:

cmd /C ""C:/Program Files (x86)/WinRar/Rar.exe" a "D:/Hello 2/File.rar" "D:/Hello 2/*.*""


Prefiero incluir el comando en () que es un batch válido que hace que sea un poco más fácil de leer:

cmd /C ("C:/Program Files (x86)/WinRar/Rar.exe" a "D:/Hello 2/File.rar" "D:/Hello 2/*.*")


Puede resolver este problema mediante el comando cd , este comando comprende espacios sin comillas dobles y puede llamar a cualquier programa de esta manera, por ejemplo:

C: / Windows / system32> cd c: / Archivos de programa / MongoDB / Server / 3.2 / bin

c: / Archivos de programa / MongoDB / Server / 3.2 / bin> mongo ahora llamada al símbolo del sistema mongo.exe


Si las comillas dobles no resuelven el problema, prueba, por ejemplo,

dir /X ~1 c:/

para obtener una lista de nombres alternativos de archivos o directorios. Ejemplo de salida:

11/09/2014 12:54 AM 8,065 DEFAUL~1.XML Default Desktop Policy.xml 06/12/2014 03:49 PM <DIR> PROGRA~1 Program Files 10/12/2014 12:46 AM <DIR> PROGRA~2 Program Files (x86) 07/11/2014 03:10 PM <DIR> servers

Ahora use el nombre abreviado de 8 caracteres o carpetas en la quinta columna, por ejemplo, PROGRA ~ 1 o DEFAUL ~ 1.XML, en sus comandos. Por ejemplo:

set JAVA_HOME=c:/PROGRA~1/Java/jdk1.6.0_45


set "CMD=C:/Program Files (x86)/PDFtk/bin/pdftk" echo cmd /K ""%CMD%" %D% output trimmed.pdf" start cmd /K ""%CMD%" %D% output trimmed.pdf"

esto funcionó para mí en un archivo por lotes