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

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

Даже если на вашем пути нет места, рекомендуется заключить его в двойные кавычки и выработать привычку делать это. Если вы забудете или столкнетесь с более длинным путем, такую простую ошибку будет сложно обнаружить.
Это справедливо для всех приложений командной строки, которые вы используете в Windows 10. В PowerShell любую команду, требующую ввода пути к файлу или папке, следует заключать в двойные кавычки. Если в пути нет места, все будет в порядке, но если оно есть, команда больше не будет запускаться, это о выработке привычки, чтобы избавить себя от проблем позже.
Как избежать в командной строке Windows проблем с пробелом в пути к файлам
В средах командной строки, таких как командная строка Windows и PowerShell, пробелы используются для разделения команд и аргументов, но имена файлов и папок также могут содержать пробелы. Чтобы указать путь к файлу имеющего символ пробела в названии или пути к файлу, вам нужно «экранировать» его.
Почему нужно избегать символ пробела?
«Пробел» в названии файла или папки, может препятствовать правильной обработке команды, экранирование пробела заставит оболочку рассматривать его как стандартный пробел, а не как специальный символ, разделяющий аргументы командной строки.
Например, предположим, что у вас есть текстовый файл, содержимое которого вы хотите просмотреть. Вы можете сделать это с помощью команды type. Предполагая, что текстовый файл находится по адресу C:\Папка\File.txt, следующая команда в командной строке покажет содержимое файла:
Отлично! А что, если у вас есть такой же файл по адресу C:\Новая папка\File.txt? Если вы попробуете выполнить приведенную ниже команду, это не сработает — пробелы в пути к файлу мешают правильно обработать команду.
Командная строка считает, что вы пытаетесь найти файл с именем Новая, в результате вы получаете: «Ошибка во время обработки: C:\Новая.
Системе не удается найти указанный путь.». Тоже самое будет? если пробел есть в имени файла New File.txt

Три способа избежать ошибок из-за символа пробел в Windows 10
Есть три разных способа избежать проблем используя пробел в пути к файлу Windows:
- Заключив путь (или его части) в двойные кавычки ( ” ).
- Добавляя символ вставки ( ^ ) перед каждым пробелом. (Это работает только в командной строке / CMD.)
- Добавляя знак ударения ( ` ) перед каждым пробелом. (Это работает только в PowerShell.)
Мы покажем вам, как использовать каждый из перечисленных способов.
Заключите путь к файлу в кавычки («)
Стандартный способ убедиться, что Windows правильно обрабатывает путь к файлу, — заключить его в двойные кавычки » . Например, в нашем примере команды выше мы просто выполняем следующее:
Вы можете заключить части пути в кавычки, если хотите. Например, предположим, что у вас есть файл с именем File.txt в этой папке. Вы можете запустить следующее:
Однако в этом нет необходимости — в большинстве случаев вы можете просто заключить весь путь в кавычки.
Это решение работает как в традиционной среде командной строки (CMD), так и в Windows PowerShell.

Иногда: используйте символ каретки для правильной обработки пробелов (^)
В командной строке символ каретки ^ теоретически позволяет избежать пробелов. Просто добавьте его перед каждым пробелом в имени файла. (Вы найдете этот символ в числовом ряду на клавиатуре. Чтобы ввести символ каретки, нажмите Shift + 6 .)
Вот проблема: хотя это должно работать, а иногда и работает, это работает не всегда. Командная строка обрабатывает этот символ странно.
Например, запустите следующую команду, но она не сработает:
Ошибка экранирования пробела в командной строке
С другой стороны, если мы попытаемся открыть наш файл напрямую, введя его путь в командную строку, мы увидим, что символ каретки правильно экранирует пробелы:

Итак, когда это работает? Что ж, исходя из нашего исследования, похоже, что с некоторыми приложениями он работает, а с другими — нет. Это может варьироваться в зависимости от команды, которую вы используете. Командная строка обрабатывает этот символ странно. Если вам интересно, попробуйте с любой командой, которую вы используете, — она может работать, а может и не работать.
Мы рекомендуем использовать двойные кавычки в командной строке или переключиться на PowerShell и использовать способ, рассмотренный ниже.
PowerShell: используйте символ ударения (`)
PowerShell использует знак ударения ` в качестве символа-пробела. Просто добавьте его перед каждым пробелом в имени файла. (Вы найдете этот символ над клавишей Tab и под клавишей Esc на клавиатуре.)
Каждый знак ударения сообщает PowerShell, что нужно избегать следующего символа.

Обратите внимание, что это работает только в среде PowerShell. В командной строке вам нужно будет использовать символ каретки.
Если вы знакомы с UNIX-подобными операционными системами, такими как Linux и macOS, вы, возможно, привыкли использовать символ обратной косой черты ( \ ) перед пробелом, чтобы правильно обработать команду. Windows использует его для пути к файлам, поэтому он не работает — символы каретки ( ^ ) и ударения ( ` ) это своего рода обратная косая черта Windows в зависимости от того, какую оболочку вы используете.
Пробел в командной строке windows
Как ввести путь к файлу или папке с пробелами в CMD Windows 10
Как ввести путь к файлу или папке с пробелами в командной строке в Windows 10
Мы поделились множеством советов и приемов, которые включают запуск команд в командной строке в Windows 10. Многие общие действия, такие как проверка связи с сервером или проверка состояния сетевого коммутатора, выполняются с помощью командной строки.
Если вам неудобно использовать командную строку за пределами команд, которые уже записаны и выполняются в том виде, в каком они есть, вы, как правило, упускаете множество полезных вещей, которые можно сделать из командной строки. Один из довольно частых вопросов, возникающих у новых пользователей при использовании командной строки, заключается в том, как ввести имя или адрес папки или файла с пробелом в имени или пути.
Как ввести путь к файлу или папке с пробелами в CMD Windows 10
В общем, если вы пытаетесь выполнить команду, которая включает в себя указание пути к папке или файлу, а путь неверный, т. е. командная строка не может его увидеть, сообщение об ошибке не сообщит вам об этом.
Сообщение, которое возвращает командная строка, будет зависеть от команды, которую вы запустили, и будет больше похоже на то, что с командой что-то не так, а не на путь, затрудняющий решение проблемы. Исправление действительно простое.
Ввод путей с пробелами
Хитрость заключается в двойных кавычках. Сделайте эмпирическое правило заключать в двойные кавычки все пути к файлам, которые вы вводите в командной строке.
Следующая команда не будет выполняться. В пути есть пробел, и в этом месте команда прерывается, и командная строка считает, что вы ввели новую команду или параметр.
XCOPY C: тестовая папка UsersfatiwOneDriveDesktopMy D: / T / E
Эта команда будет работать. Единственное различие между ними заключается в том, что во втором пути путь указали в двойных кавычках.
XCOPY ‘C: UsersfatiwOneDriveDesktopMy папка теста’ D: / T / E
Даже если в вашем пути нет пробела, полезно заключить его в двойные кавычки и разработать привычка делать это. Если вы забыли или имеете дело с более длинным путем, простую ошибку, подобную этой, может быть трудно обнаружить.
Это верно для всех приложений командной строки, которые вы используете в Windows 10. В PowerShell — любая команда, которая требует, чтобы путь к файлу или папке вводился в двойных кавычках.
Если в пути нет пробела, у вас все будет хорошо, но если это произойдет, команда больше не будет запускаться, речь идет о выработке привычки, которая поможет вам избежать проблем в будущем.
Пробел в командной строке windows
Замыкающие пробелы в bat / cmd файлах.
Если значение переменной должно содержать один или более замыкающих пробелов — используйте для этого следующий прием:
(Окаймляющий знак # используется тут при выводе значения для того, что бы стало видно наличие замыкающего пробела в значении переменной )
С другой стороны, если в предыдущем примере не использовать кавычек, то результат будет тот же.
Вот и возникает соблазн написать в короткой форме.
Но это — плохой стиль. Главное — отсутствие наглядности.
Человек, который будет читать ваш код, вынужден будет потратить массу времени, что бы обнаружить это. Да и вы сами через некоторое время с трудом вспомните.
Но есть еще аспект — когда этот пробел появился там не по вашему желанию.
Например, вы скопировали участок кода с сайта, или при редактировании значения остался пробел, который вы не видите.
А теперь представьте, что значение такой переменной используется (как это однажды было в моей практике) при формировании имени архивного файла или списка аргументов, передаваемых внешней программе.
Искаженное значение переменной может доставить массу хлопот. Поэтому возьмите себе за правило — перед сохранением bat файла удалять в нем замыкающие пробелы.
Например, в редакторе Notepad++ для этого есть специальная функция — Правка — Операции с пробелами — Убрать Замыкающие Пробелы.
Это сохранит вам нервы, время и пространство на диске )).
Пробелы в значениях переменных.
Если переменной необходимо присвоить значение пробела, то можно использовать тот же прием, который использовался в начале этой страницы
С переменной, в значении которой есть один или несколько пробелов, можно работать как и обычно
В тех случаях, когда по синтаксису пробел не должен находиться в этом месте, используют окаймляющие кавычки
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).
Пробел в командной строке windows
Профиль | Отправить PM | Цитировать
Есть батник hash_lst1.cmd который высчитывает хеш-значения файлов по списку.
hash3411 — программка которая вычисляет хэш для файла
Список файлов hash_expert.lst примерно такого содержания
При выполнении пишет — No such file or directory
Опытным путем выяснилось, что проблема в пробелах в названии папки и некоторых файлов которые указаны в hash_expert.lst (Типа P:\keys\Наши эксперты\Новая Ляля.cfg)
Переименовать ни папку ни файл не предоставляется возможным.
А отредактировать батник не могу так чтоб работал корректно. Подскажите что нужно изменить
Если в адресе\имени файла присутствует пробел, то адресс\имя необходимо включать в кавычки
Сообщения: 51437
Благодарности: 14739
Сообщения: 26257
Благодарности: 7637
2. Убедиться, что кодировка «hash_expert.lst» — DOS-866.
Было бы желательно объяснить назначение сиих действ, и что должно получаться в итоге.
Как использовать пробелы в командной строке?
В этом случае одинарные кавычки не подходят. Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки:
Я только что понял, что для случая, когда путь включает использование символов пробела, например, когда мне нужно доступ к приложению xyz , расположение которого:
Чтобы запустить это из командной строки Windows, вам необходимо использовать
Я только что понял, что для случая, когда путь включает использование символов пробела, например, когда мне нужно получить доступ к app xyz , расположение:
Чтобы запустить это из командной строки Windows, вам необходимо использовать
Если двойные кавычки не решают проблему, тогда попробуйте, например,
, чтобы получить список альтернативные имена файлов или каталогов. Пример вывода:
Теперь используйте короткий 8-символьный файл или имя папки в 5-м столбце, например PROGRA
1.XML, в ваших командах. Например:
Если двойные кавычки не решают проблему, попробуйте, например,
, чтобы получить список альтернативных имен файлов или каталогов. Пример вывода:
Теперь используйте короткое 8-символьное имя файла или папки в 5-м столбце , например PROGRA
1.XML в ваших командах. Например:
Заключите пути, содержащие пробелы, в двойные кавычки.
Заключите пути, содержащие пробелы, в двойные кавычки.
Я предпочитаю заключать команду в () , который является допустимым batch , что упрощает чтение:
Я предпочитаю заключать команду в () , что является допустимым пакетом , который немного упрощает чтение:
Попробуйте указать сложные пути в двойных кавычках (и включить расширения файлов в конце для файлов.)
CMD интерпретирует текст в двойных кавычках («xyz») как одну строку, а текст в одинарных кавычках (‘xyz’) как команду. Например:
И одна хорошая вещь, cmd * не чувствителен к регистру, как bash. Итак, “New fiLE.txt” и “new file. TXT “похож на него.
* Примечание. Переменные %% A в приведенном выше регистре чувствительны к регистру (%% A не равно %% a).

Попробуйте указать сложные пути в двойных кавычках (и включить расширения файлов в конце для файлов.)
CMD интерпретирует текст в двойных кавычках (“xyz”) как одну строку и текст в одинарных кавычках (‘xyz’) в виде команды. Например:
И хорошо, что cmd * не чувствителен к регистру, как bash. Так что «Новый файл .txt» и «новый файл.TXT» ему одинаковы.
* Примечание. Переменные %% A в приведенном выше регистре чувствительны к регистру (%% A не равно %% a).
это сработало для меня в пакетном файле

это сработало для меня в пакетном файле
Просто добавьте кавычки
Пример: “C: Users User Name”
Надеюсь, он решен!

Просто добавьте кавычки
Пример: “C: Users Имя пользователя “
Надеюсь, он решен!
Попробуйте использовать кавычки.
Вам следует попробовать использовать кавычки.
Пробелы в приглашении к сообщению (в строке командного кода оболочки VBA)
У меня была очень похожая проблема, которая закончилась тем, что при автоматизации через VBA для получения содержимого из командного окна в текстовый файл был пробел в командной строке. Эта тема была одной из многих, которые я поймал по пути, которые не совсем помогли мне найти решение.
Таким образом, это может помочь другим с аналогичной проблемой: поскольку синтаксис с кавычками всегда трудно получить да, я думаю, что показ конкретных примеров всегда полезно. Дополнительная проблема, с которой вы сталкиваетесь при использовании командной строки в VBA через оболочку, заключается в том, что строка кода часто не дает ошибок, когда что-то идет не так: на самом деле, мигание черного окна приветствия вводит в заблуждение, заставляя думать, что что-то было сделано.
В качестве примера … скажем, у меня есть папка с текстовым файлом в ней, например, в
C: Alans Folder test1.txt (https://imgur .com/FELSdB6)
Пробел в имени папки вызывает проблему.
Что-то вроде этого могло бы работать, если папка AlansFolder существует
Это не сработает. (Ошибка не будет).
Включение пар кавычек вокруг пути заставит его работать
(Кстати, если текстовый файл не существует , тогда это будет сделано).
Оглядываясь назад, мы можем увидеть, что мое решение приблизительно связано с некоторыми уже данными.
Преобразование этой строки кода в команду, заданную вручную, мы будет
Это также работает
Эта окончательная форма также работает и связывает вверх с решением от sacra …. ” Вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки «… ..