Как поставить пробел в командной строке
Перейти к содержимому

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

  • автор:

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

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

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

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

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

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

Теперь у нас короткое 8-символьное имя файла или папки в 5-м столбце, например. PROGRA

1.XML в ваших командах. Например:

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

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

Он применим и во всех подобных проблемах с адресом. И одна хорошая вещь, cmd не чувствительна к регистру, например bash. Таким образом, «New fiLE.txt» и «new file.TXT» похожи на него.

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

Вам следует попробовать использовать кавычки.

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

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

Пробелы в пути файлов командной строки Windows, как их использовать?

Оболочки командной строки, такие как командная строка Windows и PowerShell, используют пробелы для разделения команд и аргументов, но имена файлов и папок также могут содержать пробелы поэтому просто так их использовать пробелы нельзя. Давайте разберемся…

Почему стоит избегать использование пробелов при работе в коммандной строке

Пробел в пути папки или файла командная строка определяет как разделение команд и аргументов. Для того, чтобы использовать пробел как собственно пробел, прийдется весь пусть экранировать, а это требует отдельного внимания в зависимости от конкретной оболочки командной строки и программы, выполняемой в этой оболочке.

Кратко опишем проблему: например, у нас есть текстовый файл, который необходимо прочесть. Предположим этот файл расположен по адресу C:\Temp\TestFile.txt Для его прочтения необходимо выполнить команду

Отлично, а теперь представим, что прочесть теперь необходимо файл по адресу C:\Temp Folder\Test File.txt

Выполнив команду ниже вы со 100% вероятностью получите не вывод содержимого файла на экран, а ошибку — пробелы в пути файла не дадут команде выполниться корректно.

Пробелы в пути файлов командной строки Windows, как их использовать?

Три способа использовать знак пробела в пути Windows

Существует три способа использовать пробел в пути файлов:

  1. Заключить путь c пробелами в двойные кавычки ( » )
  2. Добавлять символ каре ( ^ ) перед каждый пробелом (работает только в командной строке CMD и только в определенных командах и программах)
  3. Добавлять знак ударения ( ` ) перед каждым пробелом (работает только в PowerShell, но работает всегда)

Рассмотрим каждый способ ближе.

Заключить путь в двойные кавычки

Стандартный метод точного указания пути к файлу в Windows — заключение его в двойные кавычки. Например, команда выдававшая ошибку в примере выше с кавычками в пути будет выглядеть так:

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

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

Но, на практике такие кавычки использовать не лучшая мысль — это запутывает код и делает его менее гибким. Гораздо проще просто закрыть весь путь двойными кавычками.

Это решение работает как в традиционной среде командной строки (CMD), так и в Windows PowerShell.

Пробелы в пути файлов командной строки Windows, как их использовать?

Добавить символ каре с пробелами в командной строке

Теоретически символ каре в командной строке позволит вам пользоваться пробелами в пути файлов. Нужно просто добавлять символ перед каждым пробелом (Shift + 6 в английской раскладке).

На практике этот спецсимвол работает не каждый раз и очень часто программа завершается ошибкой.

Например, следующая команда должна выполниться без проблем, но она почему-то выдает ошибку

Пробелы в пути файлов командной строки Windows, как их использовать?

С другой стороны, если мы попробуем окрыть наш файл напрямую, введя его путь в командной строке и проставив символы каре, то увидим, что пробелы в пути файла обработались корректно:

Пробелы в пути файлов командной строки Windows, как их использовать?

Таким образом, по своему опыту и поискав информацию в интернете мы приходим к выводу, что этот способ работает только с избранными программами и не дает полной уверенности в результате.

Вывод — пользуйтесь двойными кавычками в командной строке, или символом ударения в PowerShell, о котором ниже.

PowerShell символ ударения с пробелами в командной строке

PowerShell использует символ ударения в качестве экранирующего символа. Его нужно добавлять с каждым пробелом в имени файла (Этот символ спрятан на букве Ё на клавиатуре).

Каждый символ ударения указывает PowerShell как обрабатывать каждый последующий пробел.

Обратите внимание, что этот способ работает только в среде PowerShell, в командной строке придется использовать символ каретки, или, как уже писали выше, экранировать весь путь двойными кавычками.

Пробелы в пути файлов командной строки Windows, как их использовать?

Для пользователей UNIX-подобных систем напомним, что аналогичная проблема с пробелами в командной строке в Linux и MacOS решается использованием символа обратной косой черты ( \ ).

Как вводить пути к файлам или папкам с пробелами в командной строке в Windows 10

Мы делимся множеством советов и приемов, связанных с запуском команд в командной строке в Windows 10. Многие обычные вещи, такие как проверка связи с сервером или проверка состояния вашего сетевого коммутатора, выполняются с помощью командной строки. Если вам неудобно использовать командную строку помимо команд, которые уже написаны и должны выполняться как есть, вы, как правило, упускаете множество полезных вещей, которые можно сделать из командной строки. Один довольно частый вопрос, который возникают у новых пользователей при использовании командной строки, — как ввести имя или адрес папки или файла, в имени или пути которого есть пробел.

Вообще говоря, если вы пытаетесь запустить команду, которая включает в себя указание пути к папке или файлу, и путь неверен, то есть командная строка не может его увидеть, сообщение об ошибке не скажет вам этого. Сообщение, которое возвращает командная строка, будет зависеть от запущенной вами команды, и будет казаться, что что-то не так с командой, а не с путем, затрудняющим устранение проблемы. Исправить очень просто.

Ввод путей с пробелами

Уловка заключается в двойных кавычках. Возьмите за правило заключать все пути к файлам, которые вы вводите в командной строке, в двойные кавычки.

Следующая команда не будет запущена. В пути есть пробел, и в этом месте команда прерывается, и командная строка думает, что вы ввели новую команду или параметр.

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

Даже если на вашем пути нет места, рекомендуется заключить его в двойные кавычки и выработать привычку делать это. Если вы забудете или столкнетесь с более длинным путем, такую ​​простую ошибку будет сложно обнаружить.

Это справедливо для всех приложений командной строки, которые вы используете в Windows 10. В PowerShell любую команду, требующую ввода пути к файлу или папке, следует заключать в двойные кавычки. Если в пути нет места, все будет в порядке, но если оно есть, команда больше не будет запускаться, это о выработке привычки, чтобы избавить себя от проблем позже.

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

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

задан 16 июн ’11, 14:06

11 ответы

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

Да, каждый путь должен быть заключен в кавычки. Кроме того, всю команду пришлось снова заключить в другую пару кавычек. Теперь это работает! Спасибо! — Встань

@sakra у меня тоже не работает. «» C: \ Program Files \ WinRAR \ WinRAR.exe «a» C: \ veri tabani yedekler \ Dedicated_Pokemon_Pets_DB_Backup_2014_7_10_7_2.rar «-ri1 -mt2 -m5» C: \ veri tabani yedekler \ Dedicated_Pokemon_Pets_2014_DB_7 «- МонстрMMORPG

@MonsterMMORPG префикс строки с cmd /C — сакра

@sakra Я хочу исключить файл с именем с пробелами CEEMEA & LATAM.doc . Что мне делать? «C:\Program Files\WinRAR\rar» a -agmmddyy -x*CEEMEA & LATAM.doc «.rar» — Ибн э Ашик

работал у меня, но без внешних кавычек: «C: \ Program Files (x86) \ WinRar \ Rar.exe» a «D: \ Hello 2 \ File.rar» «D: \ Hello 2 \» — user1620090

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

Чтобы запустить это из командной строки Windows, вам необходимо использовать

Я пробовал это, но, похоже, в моем случае это не работает: python «» C: \ Program Files (x86) \ Jenkins \ workspace \ Map Checker Unit Test \ sqs-poller \ node_modules \ map-checker \ python \ unit_test.py «-d» C: \ Program Files (x86) \ Jenkins \ workspace \ Модульный тест Map Checker \ MAP_CHECK_TMP \ #Test Case «-o» C: \ Program Files (x86) \ Jenkins \ workspace \ Модульный тест Map Checker \ MAP_CHECK_TMP \ #Test Case «-o2» C: \ Program Files (x86) \ Jenkins \ workspace \ Map Checker Unit Test \ MAP_CHECK_TMP \ #Test Case \ testcase_results.csv «» -l «C: \ Program Files (x86) \ Jenkins \ workspace \ Модульный тест Map Checker \ MAP_CHECK_TMP «-restore». может помочь? — хафизан

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

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

Теперь используйте короткое 8-символьное имя файла или папки в 5-м столбце, например PROGRA

1.XML, в ваших командах. Например:

Создан 27 июля ’18, 16:07

Это простой способ. Никакой гадости с двойными двойными кавычками. — Дэйв Андерсон

Вы знаете, что короткий 8.3 — это вариант NTFS, и его можно отключить? Не надейтесь на это. — Зан Рысь

у меня не сработало 🙁 — desmond13

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

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

Тогда проблема в том, какой синтаксис аргумента Rar.exe на самом деле есть. Возможно, вы неправильно его используете. Может попробовать «D:\Hello 2\» or «D:\Hello 2» вместо «D:\Hello 2\*.*» ? — ОАК

cmd / C «C: \ Program Files (x86) \ WinRar \ Rar.exe» a D: \ Hello \ File.rar D: \ Hello *. * (в нем нет пробелов, и он работает), но как иметь дело с пробелами? — Faressoft

@JAB, если вам нужно исключить файл с именем с пробелами вроде CEEMEA & LATAM.doc . Что это должно быть? «C:\Program Files\WinRAR\rar» a -x*CEEMEA & LATAM.doc «.rar» — Ибн э Ашик

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

CMD интерпретирует текст в двойных кавычках («xyz») как одну строку, а текст в одинарных кавычках («xyz») как команду. Например:

FOR %% A in (‘dir / b / s * .txt’) do (‘command’)

FOR %% A in (‘dir / b / s * .txt’) do (echo «%% A»)

И, что хорошо, cmd не * чувствителен к регистру, как bash. Таким образом, «New fiLE.txt» и «new file.TXT» похожи на него.

* Примечание. Переменные %% A в приведенном выше случае чувствительны к регистру (%% A не равно %% a).

ответ дан 17 мая ’20, 18:05

Учитываются ли подчеркивания в именах файлов? Как «имя_файла» или «имя файла» — Писклявый

подчеркивания не вызывают проблем, имя_файла рассматривается как отдельное слово. Но если имя вашего файла — это имя файла с пробелом, вы должны использовать «имя файла». В противном случае интерпретатор читает только файл детали, пробел действует как разделитель, после чего он обрабатывает следующее слово как другой аргумент. Это приводит к ошибке, если второй аргумент не ожидался в этой форме. — пользователь5927645

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

Просто добавьте кавычки

Пример:«C: \ Users \ Имя пользователя»

Надеюсь, это решено!

ответ дан 25 мая ’19, 06:05

То же самое уже было сказано полдюжины раз. Какую дополнительную ценность это добавляет? — JJJ

Пробелы в приглашении к одобрению (в строке командного кода оболочки VBA)

У меня была очень похожая проблема, которая в конечном итоге оказалась пробелом в командной строке при автоматизации через VBA для получения содержимого из командного окна в текстовый файл. Эта тема была одной из многих, которые я поймал по пути, и которые не совсем помогли мне найти решение.

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

В качестве примера . скажем, у меня есть папка с текстовым файлом, например, в

Пробел в названии папки дает проблему.

Что-то вроде этого будет работать, если папка AlansFolder существует.

Это не сработает. (Это не ошибка).

Включение пар цитат вокруг пути заставит его работать

(Кстати, если текстового файла не существует, то он будет создан).

Оглядываясь назад, мы можем видеть, что мое решение действительно приблизительно связано с некоторыми уже данными.

Преобразуя эту строку кода в заданную вручную команду, мы получили бы

Кажется, это работает

Это также работает

Эта окончательная форма также работает и связана с решением сакра… » Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки. «… ..

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *