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

Оболочки командной строки, такие как командная строка Windows и PowerShell, используют пробелы для разделения команд и аргументов, но имена файлов и папок также могут содержать пробелы поэтому просто так их использовать пробелы нельзя. Давайте разберемся…
Почему стоит избегать использование пробелов при работе в коммандной строке
Пробел в пути папки или файла командная строка определяет как разделение команд и аргументов. Для того, чтобы использовать пробел как собственно пробел, прийдется весь пусть экранировать, а это требует отдельного внимания в зависимости от конкретной оболочки командной строки и программы, выполняемой в этой оболочке.
Кратко опишем проблему: например, у нас есть текстовый файл, который необходимо прочесть. Предположим этот файл расположен по адресу C:\Temp\TestFile.txt Для его прочтения необходимо выполнить команду
type C:\Temp\TestFile.txt
Отлично, а теперь представим, что прочесть теперь необходимо файл по адресу C:\Temp Folder\Test File.txt
Выполнив команду ниже вы со 100% вероятностью получите не вывод содержимого файла на экран, а ошибку — пробелы в пути файла не дадут команде выполниться корректно.
type C:\Temp Folder\Test File.txt

Три способа использовать знак пробела в пути Windows
Существует три способа использовать пробел в пути файлов:
- Заключить путь c пробелами в двойные кавычки ( » )
- Добавлять символ каре ( ^ ) перед каждый пробелом (работает только в командной строке CMD и только в определенных командах и программах)
- Добавлять знак ударения ( ` ) перед каждым пробелом (работает только в PowerShell, но работает всегда)
Рассмотрим каждый способ ближе.
Заключить путь в двойные кавычки
Стандартный метод точного указания пути к файлу в Windows — заключение его в двойные кавычки. Например, команда выдававшая ошибку в примере выше с кавычками в пути будет выглядеть так:
type "C:\Temp Folder\Test File.txt"
Так же, вы можете заключить лишь часть пути в двойные кавычки, например только ту часть, которая содержит в себе пробелы.
Интересно: Как скачать инсталлятор Windows 11?
Представим, что в папке Temp Folder у нас находится файл TestFile.txt, в таком случае команда будет выглядеть так:
type "C:\Temp Folder"\TestFile.txt
Но, на практике такие кавычки использовать не лучшая мысль — это запутывает код и делает его менее гибким. Гораздо проще просто закрыть весь путь двойными кавычками.
Это решение работает как в традиционной среде командной строки (CMD), так и в Windows PowerShell.

Добавить символ каре с пробелами в командной строке
Теоретически символ каре в командной строке позволит вам пользоваться пробелами в пути файлов. Нужно просто добавлять символ перед каждым пробелом (Shift + 6 в английской раскладке).
На практике этот спецсимвол работает не каждый раз и очень часто программа завершается ошибкой.
Например, следующая команда должна выполниться без проблем, но она почему-то выдает ошибку
type C:\Temp^ Folder\Test^ File.txt

С другой стороны, если мы попробуем окрыть наш файл напрямую, введя его путь в командной строке и проставив символы каре, то увидим, что пробелы в пути файла обработались корректно:
C:\Temp^ Folder\Test^ File.txt

Таким образом, по своему опыту и поискав информацию в интернете мы приходим к выводу, что этот способ работает только с избранными программами и не дает полной уверенности в результате.
Вывод — пользуйтесь двойными кавычками в командной строке, или символом ударения в PowerShell, о котором ниже.
PowerShell символ ударения с пробелами в командной строке
PowerShell использует символ ударения в качестве экранирующего символа. Его нужно добавлять с каждым пробелом в имени файла (Этот символ спрятан на букве Ё на клавиатуре).
type C:\Temp` Folder\Test` File.txt
Каждый символ ударения указывает PowerShell как обрабатывать каждый последующий пробел.
Обратите внимание, что этот способ работает только в среде PowerShell, в командной строке придется использовать символ каретки, или, как уже писали выше, экранировать весь путь двойными кавычками.

Для пользователей UNIX-подобных систем напомним, что аналогичная проблема с пробелами в командной строке в Linux и MacOS решается использованием символа обратной косой черты ( \ ).
Как открыть командную строку
Командная строка (cmd) — это сервис для введения текстовых команд, имеющий очень простой интерфейс. Он выглядит как окно с текстом. Этот сервис необходим в тех случаях, когда неизвестно точное расположение программы или скрипта. Тогда ими можно управлять с помощью cmd. Рано или поздно с ней сталкивается любой пользователь ПК. Продвинутый юзер без труда вызовет командную строку. Ему понадобится несколько раз кликнуть мышкой или нажать пару кнопок, а вот у начинающего пользователя могут возникнуть трудности. Для тех и других будет полезна наша статья. Даже продвинутый пользователь сможет найти новый способ запуска командной строки.
Способ №1 — сочетание клавиш
Горячие сочетания клавиш часто облегчают работу за ПК. Есть комбинация для простого поиска cmd — просто нажмите WIN+R, находясь на рабочем столе. Внизу откроется окно “Выполнить”, здесь вводим cmd и подтверждаем действие.

Способ №2 — поиск в панели задач
В Windows 10 в левом нижнем углу рядом с иконкой “Пуск” находится значок поиска. Вы легко его узнаете по значку лупы, кликаем по ней правой кнопкой мыши (ПКМ). Откроется окно, в котором пишем: “cmd” или “командная строка”.

Нужный нам пункт будет первым в открывшемся списке. Если кликнуть по нему ПКМ, то можно выбрать запуск от имени администратора. Вы легко поймете, что программа открыта с правами администратора. Это будет указано перед ее адресом. Права администратора предоставляют больше возможностей.
Способ №3 — в меню “Пуск”
Зайдите в меню “Пуск” и найдите там папку “Служебные Windows”. Затем нужно развернуть список, в котором вы легко найдете искомый файл. Чтобы открыть приложение от имени администратора, нужно кликнуть по значку ПКМ, навести курсор на пункт “Дополнительно” и выбрать нужную кнопку.

Здесь же можно закрепить значок в панели задач или найти путь к файлу.
Способ №4 — с помощью Power User Menu
Чтобы отобразить данное меню, ПКМ кликните по иконке “Пуск” или одновременно нажмите Win и X. В новом окне нужно выбрать пункт “Командная строка”. Такая возможность предусмотрена не во всех версиях Windows 10. В некоторых ОС вместо cmd появился пункт PowerShell. Это связано с параметрами, заданными по умолчанию при установке операционной системы.
При необходимости в этом меню можно добавить пункт cmd. Для этого зайдите в “Панель задач” (“Параметры”→”Персонализация”). Здесь нужно передвинуть бегунок на Откл. под строкой “Заменить командную строку оболочкой Windows PowerShell”. Эта же опция доступна, если использовать способ №2. Кликните по поиску и введите cmd, вторым отобразится нужный нам пункт.

В некоторых случаях необходимый нам пункт может отсутствовать в выдаче, тогда нужно нажать на кнопку “Параметры”, расположенную под cmd. После этого отобразится нужный пункт.
Способ №5 — в проводнике
Мало кто знает, что вызов командной строки доступен в “Проводнике”. Для этого выберете любую папку, одновременно с зажатой клавишей Shift кликните ПКМ по свободному месту окна. Откроется меню, в котором отобразится искомая cmd. В последних версиях Windows 10 этот пункт недоступен. В них вместо cmd указан Windows PowerShell.
Способ №6 — в диспетчере задач
Войти в “Диспетчер задач” можно с помощью поиска. Выберете пункт “Файл”, откроется меню всего с двумя пунктами. Кликаем по строке “Запустить новую задачу”. Откроется окно, в строке которого нужно ввести cmd и нажать “Ок”. В последних версиях Windows 10 даже вводить ничего не надо, в строке уже написано cmd. Если нужны права администратора, то поставьте галочку возле соответствующего пункта. Он находится под строкой.

Способ №7 — поиск на диске C
По сути командная строка — это системный файл, расположенный с другими подобными компонентами на диске C. Файл cmd.exe находится в папке System 32. В случае ×64 версии Windows искомый файл может располагаться в папке SysWOW64. В поиске системного диска C вводим cmd.exe. На поиск понадобится какое-то время, по истечении которого отобразится внушительный перечень файлов. Если нужны права администратора, кликните ПКМ и выберете соответствующий пункт.

Способ №8 — в PowerShell
Как говорилось выше, в Power User Menu и в “Проводнике” вместо cmd установлен сервис PowerShell. По сути это такая же командная строка, которая выглядит следующим образом.

Windows PowerShell — не менее удобный инструмент, с помощью которого можно запустить cmd. Для этого запускаем PowerShell и вводим cmd. Windows PowerShell можно использовать вместо cmd. Приложение поддерживает все известные команды.
Создание ярлыка
Чтобы больше не пришлось искать cmd, создайте на рабочем столе ярлык. Это можно сделать следующим образом:
- Воспользуйтесь способом №7 для вызова командной строки. Щелкните по файлу cmd.exe ПКМ и в открывшемся окне выберете пункт “Создать ярлык”. Далее система предложит вам выбрать адрес для ярлыка, нам нужен рабочий стол. В некоторых случаях система сама предлагает создать ярлык на рабочем столе, появится такое окно.

- Нажмите ПКМ по пустому месту рабочего стола. Кликните по строке “Создать ярлык”, в новом меню нужно найти папку. Нам нужна папка на диске C System32 или SysWOW64, задайте имя файла и подтвердите действие.

Чтобы запустить cmd с помощью ярлыка с правами администратора нужно один раз кликнуть по нему ПКМ и выбрать соответствующий пункт.
Настройки и дополнительные сведения
В свойствах командной строки можно настроить комбинацию горячих клавиш. Для этого в папке C кликните по значку cmd ПКМ и нажмите на строку “Свойства”. Либо можно выделить ярлык и нажать Alt+Enter. В открывшемся окне необходимо отыскать пункт “Ярлык”. Здесь нужно настроить сочетание клавиш в строке “Быстрый вызов”. Нажмите любую клавишу, например С, и система выдаст комбинацию для быстрого доступа.

У командной строки есть несколько настроек, которые облегчат работу с ней. Чтобы их открыть, необходимо щелкнуть по ее значку в левом верхнем углу. Далее требуется выбрать пункт “Свойства”, здесь можно настроить работу с cmd:
- разрешить выделение мышкой и быструю вставку;
- настроить шрифт;
- изменить расположение и размер окна;
- выбрать другие цвета фона и букв (по умолчанию настроен черный фон с белыми буквами).
В Windows 7 и 8 отсутствует возможность копирования и вставки команд с помощью сочетания горячих клавиш. Эта функция появилась только в 10-й версии ОС, однако по умолчанию данные параметры отключены. Их можно включить в окне настроек. Просто нужно поставить галочку, как на фото.

Некоторые полезные команды
Командная строка будет бесполезна, если вы не будете знать, что в ней вводить. Поделюсь с вами несколькими полезными командами.
- copy— копирование одного или нескольких файлов.
- cls — очистка экрана.
- del, rd или erase— удаление.
- diskcopy — копирование содержимого одного жесткого диска на другой.
- debug — настройка программ.
- getmac — отображение MAC-адреса.
- ipconfig — отображение IP-адреса.
- mdили mkdir— создание папки.
- move — перемещение папок.
- mem— вывод данных о памяти устройства.
- recover — восстановление данных на поврежденном жестком диске.
- start— запуск программы.
- sfc — проверка всех запущенных системных файлов.
- tree — графическое отображение структуры диска или папки.
- type— вывод на экран содержимого текстовых файлов.
- tasklist — выведение на экран всех запущенных процессов.
- taskkill — завершение всех процессов.
- shutdown — перезагрузка или выключение ПК.
Теперь вы знаете, как открыть командную строку и как с ней работать. Оставайтесь с блогом Comfy и узнаете много другой полезной информации.
Как использовать пробелы в командной строке?
В этом случае одинарные кавычки не подходят. Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки:
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, вам необходимо использовать
C: "Program Files" "ab cd" xyz.exe
"C: Program Files ab cd xyz.exe"
Поделиться
Улучшить этот ответ
12 июня ’18 в 15: 1 6
10.6k44 золотых знака3737 серебряных знаков4141 бронзовых знаков
ответил 8 ноября 2013 в 13:16
Я пробовал это, но, похоже, в моем случае не работает: python “” C: Program Files (x86) Jenkins workspace Модульный тест Map Checker sqs-poller node_modules map-checker python unit_test.py “-d” C: Program Files (x86) Jenkins workspace Map Checker Unit Test 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 MAP_CHECK_TMP #Test Case testcase_results.csv “” -l “C: Program Files (x86) Jenkins workspace Модуль проверки карты MAP_CHECK_TMP” -restore “. может помочь? – hafizan 07 июл.2020, в 9:04
добавить комментарий |
Я только что понял, что для случая, когда путь включает использование символов пробела, например, когда мне нужно получить доступ к app xyz , расположение:
C: Program Files ab cd xyz.exe
Чтобы запустить это из командной строки Windows, вам необходимо использовать
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.xml06/12/2014 03:49 PM Программные файлы PROGRA ~ 1 10/12/2014 12:46 AM Программные файлы PROGRA ~ 2 (x86)
Теперь используйте короткий 8-символьный файл или имя папки в 5-м столбце, например PROGRA ~ 1 или DEFAUL ~ 1.XML, в ваших командах. Например:
установите JAVA_HOME = c: PROGRA ~ 1 Java jdk1.6.0_45
Поделиться
Улучшите этот ответ
отредактировано 27 июля ’18 в 15:50
jtth 73699 серебряных знаков2727 бронзовых знаков
6 янв. ’15 в 3:36
Это простой способ. Никакой гадости с двойными кавычками. – Дэйв Андерсон, 25 февраля 2015, 20:34
Знаете ли вы, что short 8.3 является опцией NTFS и может быть отключен? Не надейтесь на это. – Зан Линкс 28 мая ’19 в 2:26
добавить комментарий |
Если двойные кавычки не решают проблему, попробуйте, например,
dir/X ~ 1 c:
, чтобы получить список альтернативных имен файлов или каталогов. Пример вывода:
09.11.2014 00:54 8065 DEFAUL ~ 1.XML Default Desktop Policy.xml06/12/2014 15:49 PM PROGRA ~ 1 Program Files 10/12/2014 12:46 AM PROGRA ~ 2 Program Files (x86)
Теперь используйте короткое 8-символьное имя файла или папки в 5-м столбце , например PROGRA ~ 1 или DEFAUL ~ 1.XML в ваших командах. Например:
установите 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 *. * "
Поделиться
Улучшите этот ответ
ответил 16 июня ’11 в 17:34
Тогда проблема заключается в том, каков на самом деле синтаксис аргументов Rar.exe . Возможно, вы его неправильно используете. Попробуйте «D: Hello 2 » или » D: Hello 2 » вместо » D: Hello 2 *. * » ? – JAB 16 июня ’11 в 18:09
cmd/C “C: Program Files (x86) WinRar Rar.exe” a D: Hello File.rar D: Hello *. * (Это не есть пробелы, и это работает), но как бороться с пробелами? – faressoft 16 июня 2011 г., 18:29
@JAB, если вам нужно исключить f Файл имеет имя с пробелами, например CEEMEA & LATAM.doc . Что это должно быть? «C: Program Files WinRAR rar» a -x * CEEMEA & LATAM.doc «.rar» – Ибн и Ашик, 29 августа 2017 г., 7:30
добавить комментарий |
Заключите пути, содержащие пробелы, в двойные кавычки.
cmd/C "C : Program Files (x86) WinRar Rar.exe "a" D: Hello 2 File.rar "" D: Hello 2 *. * "
Я предпочитаю заключать команду в () , который является допустимым batch , что упрощает чтение:
cmd/C ("C: Program Files (x86 ) WinRar Rar.exe "a" D: Hello 2 File.rar "" D: Hello 2 *. * ")
Поделиться
Улучшить этот ответ
ответил 27 фев. 2016 в 01:10
добавить комментарий |
Я предпочитаю заключать команду в () , что является допустимым пакетом , который немного упрощает чтение:
cmd/C ("C: Program Files (x86) WinRar Rar.exe" a "D: Hello 2 File.rar "" D: Hello 2 *. * ")
Попробуйте указать сложные пути в двойных кавычках (и включить расширения файлов в конце для файлов.)
вызов "C: example file". exe "
cd" C: Users User Name New Folder "
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 в 17 : 42
ответил 17 февраля ’16 в 21:01

Делайте подчеркивания в именах файлов считать? Как «имя_файла» против «имени файла» – SqueakyBeak 8 янв.2020 в 16:26
добавить комментарий |
Попробуйте указать сложные пути в двойных кавычках (и включить расширения файлов в конце для файлов.)
вызовите «C: example file.exe»
cd "C: Users User Name New Folder"
CMD интерпретирует текст в двойных кавычках (“xyz”) как одну строку и текст в одинарных кавычках (‘xyz’) в виде команды. Например:
FOR %% A in (‘dir/b/s * .txt’) do (‘ command ‘)
FOR %% A in (‘ dir/b/s * .txt ‘) do (echo “%% A”)
И хорошо, что cmd * не чувствителен к регистру, как bash. Так что «Новый файл .txt» и «новый файл.TXT» ему одинаковы.
* Примечание. Переменные %% A в приведенном выше регистре чувствительны к регистру (%% A не равно %% a).
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 "
это сработало для меня в пакетном файле
Поделиться
Улучшить этот ответ
ответил 29 сен 2015, 17:55

добавить комментарий |
set "CMD = C: Program Files (x86) PDFtk bin pdftk" echo cmd/K ""% CMD% "% D% вывод обрезан .pdf "start cmd/K" "% CMD%"% D% output trimmed.pdf "
это сработало для меня в пакетном файле
Просто добавьте кавычки
Пример: “C: Users User Name”
Надеюсь, он решен!
Поделиться
Улучшить этот ответ
ответил 25 мая ’19 в 17:35

То же самое уже было сказано полдюжины раз. Какую дополнительную ценность это добавляет? – JJJ 25 мая ’19 в 6:02
добавить комментарий |
Просто добавьте кавычки
Пример: “C: Users Имя пользователя “
Надеюсь, он решен!
Попробуйте использовать кавычки.
cmd/C "C: Program Files (x86) WinRar Rar.exe "a" D: Hello 2 File.rar "" D: Hello 2 *. * "
Поделиться
Улучшить этот ответ
ответил 16 июня ’11 в 17:36
Это ненадежно. В определенных случаях (см. Microsoft. com/resources/documentation/windows/xp/all/proddocs/… – обработка кавычек) вместо этого выполняется файл «C: Program.bat». – Micha Wiedenmann 8 сен. ’14 в 06:51
добавить комментарий |
Вам следует попробовать использовать кавычки.
cmd/C "C: Program Файлы (x86) WinRar Rar.exe "a" D: Hello 2 File.rar "" D: Hello 2 *. * "
Пробелы в приглашении к сообщению (в строке командного кода оболочки VBA)
У меня была очень похожая проблема, которая закончилась тем, что при автоматизации через VBA для получения содержимого из командного окна в текстовый файл был пробел в командной строке. Эта тема была одной из многих, которые я поймал по пути, которые не совсем помогли мне найти решение.
Таким образом, это может помочь другим с аналогичной проблемой: поскольку синтаксис с кавычками всегда трудно получить да, я думаю, что показ конкретных примеров всегда полезно. Дополнительная проблема, с которой вы сталкиваетесь при использовании командной строки в VBA через оболочку, заключается в том, что строка кода часто не дает ошибок, когда что-то идет не так: на самом деле, мигание черного окна приветствия вводит в заблуждение, заставляя думать, что что-то было сделано.
В качестве примера … скажем, у меня есть папка с текстовым файлом в ней, например, в
C: Alans Folder test1.txt (https://imgur .com/FELSdB6)
Пробел в имени папки вызывает проблему.
Что-то вроде этого могло бы работать, если папка AlansFolder существует
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell "cmd.exe/c" "ipconfig/all> C: AlansFolder test1.txt" "" End Sub
Это не сработает. (Ошибка не будет).
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell "cmd.exe/c" "ipconfig/all> C: Alans Folder test1.txt" " "End Sub
Включение пар кавычек вокруг пути заставит его работать
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell" cmd.exe/ c "" ipconfig/all> "" C: Alans Folder test1.txt "" "" "End Sub
(Кстати, если текстовый файл не существует , тогда это будет сделано).
Оглядываясь назад, мы можем увидеть, что мое решение приблизительно связано с некоторыми уже данными.
Преобразование этой строки кода в команду, заданную вручную, мы будет
ipconfig/all> "C: Alans Folder test1.txt"
Это также работает
ipconfig/all> C: AlansFolder test1.txt
ipconfig/all> C: Alans Folder test1.txt
Эта окончательная форма также работает и связывает вверх с решением от sacra …. ” Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки «… ..
cmd.exe/ c "ipconfig/all>" C: Alans Folder test1.txt ""
Поделиться
Улучшить этот ответ
ответил 15 декабря ’19 в 17:42

добавить комментарий |
Пробелы в приглашении с благодарностью (в строке командного кода оболочки VBA)
У меня была очень похожая проблема, которая в итоге оказалась пробелом в командной строке при автоматизации через VBA для получения содержимого из командного окна в текстовый файл. Эта тема была одной из многих, которые я поймал по пути, которые не совсем помогли мне найти решение.
Таким образом, это может помочь другим с аналогичной проблемой: поскольку синтаксис с кавычками всегда трудно получить да, я думаю, что показ конкретных примеров всегда полезно. Дополнительная проблема, с которой вы сталкиваетесь при использовании командной строки в VBA через оболочку, заключается в том, что строка кода часто не дает ошибок, когда что-то идет не так: на самом деле, мигание черного окна приветствия вводит в заблуждение, заставляя думать, что что-то было сделано.
В качестве примера … скажем, у меня есть папка с текстовым файлом в ней, например, в
C: Alans Folder test1.txt (https://imgur .com/FELSdB6)
Пробел в имени папки указывает на проблему.
Примерно так будет работать, если папка AlansFolder существует
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell "cmd.exe/c" "ipconfig /all> C: AlansFolder test1.txt "" "End Sub
Это не сработает. (Ошибка не будет).
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell "cmd.exe/c" "ipconfig/all> C: Alans Folder test1.txt" " "End Sub
Включение пар кавычек вокруг пути заставит его работать
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent () Shell" cmd.exe/ c "" ipconfig/all> "" C: Alans Folder test1.txt "" "" "End Sub
(Кстати, если текстовый файл не существует , тогда это будет сделано).
Оглядываясь назад, мы можем увидеть, что мое решение приблизительно связано с некоторыми уже данными.
Преобразование этой строки кода в команду, заданную вручную, мы будет
ipconfig/all> "C: Alans Folder test1.txt"
Это также работает
ipconfig/all> C: AlansFolder test1.txt
ipconfig/all> C: Alans Folder test1.txt
Эта окончательная форма также работает и связывает с решением от sacra… » Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки «… ..
cmd.exe/c "ipconfig/all>" C: Alans Folder test1.txt ""
Эту проблему можно решить с помощью команды cd , эта команда понимает пробелы без двойных кавычек, и вы можете вызывать любую программу таким образом, например :
C: Windows system32> cd c: Program Files MongoDB Server 3.2 bin
c: Program Files MongoDB Server 3.2 bin> вызов командной строки mongonow mongo.exe
Как поставить пробел в командной строке
Как я могу использовать пробелы в командной строке Windows?
В этом случае одинарные кавычки не подходят. Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки:
Я только что выяснил, что для случая, когда путь включает использование символов пробела, например, когда мне нужно получить доступ к приложению, xyz расположение которого:
Чтобы запустить это из командной строки Windows, вам нужно использовать
Если двойные кавычки не решают проблему, попробуйте, например,
получить список альтернативных имен файлов или каталогов. Пример вывода:
Теперь используйте короткие 8-символьные имена файлов или папок в 5-м столбце, например, PROGRA
1.XML, в своих командах. Например:
Обведите пути, содержащие пробелы, двойными кавычками.
Попробуйте указать сложные имена путей в двойных кавычках (и в конце добавить расширения файлов).
CMD интерпретирует текст с двойными кавычками («xyz») как одну строку, а текст внутри одинарных кавычек («xyz») — как команду. Например:
FOR %% A in (‘dir / b / s * .txt’) do (‘команда’)
FOR %% A in (‘dir / b / s * .txt’) do (вывод «%% A»)
И еще одна хорошая вещь, cmd не * чувствителен к регистру, как Bash. Так что «New fiLE.txt» и «new file.TXT» похожи на это.
* Примечание: переменные %% A в приведенном выше регистре чувствительны к регистру (%% A не равно %% a).
Я предпочитаю заключить команду, в () которой действует, batch что делает его немного легче читать:
это работало для меня в командном файле
Просто добавьте кавычку
Пример: «C: \ Users \ Имя пользователя»
Надеюсь, это решено!
Вы должны попробовать использовать кавычки.
Пробелы в командной строке (в командной строке оболочки VBA)
У меня была очень похожая проблема, которая в итоге приводила к пробелу в командной строке при автоматизации через VBA для получения содержимого из командного окна в текстовый файл. Эта тема была одной из многих, которые я нашел на этом пути, но это не совсем помогло мне найти решение.
Так что это может помочь другим с подобной проблемой: так как синтаксис с кавычками всегда трудно понять правильно, я думаю, что показ некоторых конкретных примеров всегда полезен. Дополнительная проблема, возникающая при использовании командной строки в VBA через оболочку, заключается в том, что строка кода часто не выдает ошибку, если что-то идет не так: на самом деле миг черного окна commend вводит в заблуждение, заставляя думать, что что-то было сделано.
Как пример . скажем, у меня есть папка с текстовым файлом в нем, как в
Пробел в имени папки дает проблему.
Нечто подобное будет работать, если предположить, что папка AlansFolder существует
Это не сработает. (Это не ошибка).
Включение пар цитат вокруг пути заставит его работать
(Кстати, если текстового файла не существует, то это будет сделано).
Оглядываясь назад, мы видим, что мое решение связано примерно с некоторыми уже предоставленными ..
Преобразование этой строки кода в заданную вручную команду мы бы
Это похоже на работу
Это работает также
Эта окончательная форма также работает и связана с решением от сакры… » Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки «… ..
Пробелы в пути файлов командной строки Windows, как их использовать?
Оболочки командной строки, такие как командная строка Windows и PowerShell, используют пробелы для разделения команд и аргументов, но имена файлов и папок также могут содержать пробелы поэтому просто так их использовать пробелы нельзя. Давайте разберемся…
Почему стоит избегать использование пробелов при работе в коммандной строке
Пробел в пути папки или файла командная строка определяет как разделение команд и аргументов. Для того, чтобы использовать пробел как собственно пробел, прийдется весь пусть экранировать, а это требует отдельного внимания в зависимости от конкретной оболочки командной строки и программы, выполняемой в этой оболочке.
Кратко опишем проблему: например, у нас есть текстовый файл, который необходимо прочесть. Предположим этот файл расположен по адресу C:\Temp\TestFile.txt Для его прочтения необходимо выполнить команду
Отлично, а теперь представим, что прочесть теперь необходимо файл по адресу C:\Temp Folder\Test File.txt
Выполнив команду ниже вы со 100% вероятностью получите не вывод содержимого файла на экран, а ошибку — пробелы в пути файла не дадут команде выполниться корректно.

Три способа использовать знак пробела в пути Windows
Существует три способа использовать пробел в пути файлов:
- Заключить путь c пробелами в двойные кавычки ( » )
- Добавлять символ каре ( ^ ) перед каждый пробелом (работает только в командной строке CMD и только в определенных командах и программах)
- Добавлять знак ударения ( ` ) перед каждым пробелом (работает только в PowerShell, но работает всегда)
Рассмотрим каждый способ ближе.
Заключить путь в двойные кавычки
Стандартный метод точного указания пути к файлу в Windows — заключение его в двойные кавычки. Например, команда выдававшая ошибку в примере выше с кавычками в пути будет выглядеть так:
Так же, вы можете заключить лишь часть пути в двойные кавычки, например только ту часть, которая содержит в себе пробелы.
Представим, что в папке Temp Folder у нас находится файл TestFile.txt, в таком случае команда будет выглядеть так:
Но, на практике такие кавычки использовать не лучшая мысль — это запутывает код и делает его менее гибким. Гораздо проще просто закрыть весь путь двойными кавычками.
Это решение работает как в традиционной среде командной строки (CMD), так и в Windows PowerShell.

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

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

Таким образом, по своему опыту и поискав информацию в интернете мы приходим к выводу, что этот способ работает только с избранными программами и не дает полной уверенности в результате.
Вывод — пользуйтесь двойными кавычками в командной строке, или символом ударения в PowerShell, о котором ниже.
PowerShell символ ударения с пробелами в командной строке
PowerShell использует символ ударения в качестве экранирующего символа. Его нужно добавлять с каждым пробелом в имени файла (Этот символ спрятан на букве Ё на клавиатуре).
Каждый символ ударения указывает PowerShell как обрабатывать каждый последующий пробел.
Обратите внимание, что этот способ работает только в среде PowerShell, в командной строке придется использовать символ каретки, или, как уже писали выше, экранировать весь путь двойными кавычками.

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

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

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