Как использовать пробелы в командной строке?

Как использовать пробелы в командной строке Windows?

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

9 ответов


одинарные кавычки в этом случае не подойдут. Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки:

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

Я только что понял, что для случая, когда путь включает использование символов пробела, например, когда мне нужно получить доступ к приложению xyz чье местоположение :

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

чтобы запустить это из командной строки Windows cmd, вам нужно использовать

C:\"Program Files"\"ab cd"\xyz.exe

или

"C:\Program Files\ab cd\xyz.exe"

Если двойные кавычки не решают проблему, попробуйте, например,

dir /X ~1 c:\

чтобы получить список альтернативных имен файлов или каталогов. Пример вывода:

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)

Теперь используйте короткий 8-символьный файл или имя папки в 5-м столбце, например, PROGRA~1 или DEFAUL~1.XML, в ваших командах. Например:

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

заключите пути, содержащие пробелы с двойными кавычками.

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

попробуйте предоставить сложные пути в двойных кавычках (и включить расширения файлов в конце для файлов.)

файлы:

call "C:\example file.exe"

Для Каталогов:

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

оно применим во всех подобных проблемах адреса также. И одна хорошая вещь, cmd не чувствителен к регистру, как bash. Итак, " новый файл.TXT" и "новый файл.TXT " похож на него.


Я предпочитаю вложить команду в () действительный batch что делает его немного легче читать:

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

вы должны попробовать использовать цитаты.

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

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"

это работает для меня в пакетном файле


Он может решить эту проблему с помощью компакт-диск команда, эта команда понимает пробелы без двойных кавычек, и вы можете вызвать любую программу таким образом, например:

C:\Windows\system32 > cd c:\Program файлы\MongoDB\сервер\3.2\bin

c:\Program файлы\MongoDB\Server\3.2\bin>монго теперь вызов командной строки mongo.exe