Командная строка windows путь с пробелами

Содержание
  1. Как запустить скрипт powershell с пробелами в пути из командной строки?
  2. 5 ответов
  3. -File Параметр
  4. -Command Параметр
  5. -EncodedCommand Параметр
  6. Длинные имена файлов или пути с пробелами требуют кавычках
  7. Симптомы
  8. Причина
  9. Решение
  10. Дополнительные сведения
  11. Как ввести путь к файлу или папке с пробелами в CMD Windows 10
  12. Как ввести путь к файлу или папке с пробелами в командной строке в Windows 10
  13. Ввод путей с пробелами
  14. batch-file — Установите переменную пути с пробелами в пути в Windows .cmd или командном файле
  15. Ввод путей с пробелами
  16. Замыкающие пробелы в bat / cmd файлах.
  17. Как ввести путь к файлу или папке с пробелами в командной строке в windows 10
  18. Как перейти на другой диск
  19. Пробелы в значениях переменных.
  20. Шаг второй: запоминаем нужные команды
  21. Шаг первый: запуск командной строки
  22. Шаг третий: используем команды на практике
  23. Как избежать в командной строке Windows проблем с пробелом в пути к файлам
  24. Почему нужно избегать символ пробела?
  25. Три способа избежать ошибок из-за символа пробел в Windows 10
  26. Заключите путь к файлу в кавычки («)
  27. Иногда: используйте символ каретки для правильной обработки пробелов (^)
  28. PowerShell: используйте символ ударения (`)

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

Поэтому я попробовал несколько разных способов запустить скрипт powershell из командной строки, и каждый из них возвращает ошибку.

Я получаю все эти ошибки:

&: Термин «C: \ Users \ test \ Documents \ test \ line space \ PS Script \» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.

Обработка -File » C: \ Users \ test \ Documents \ test \ line space \ PS Script \ » завершилась неудачно: формат указанного пути не поддерживается ed. Укажите правильный путь для параметра -File.

Любая помощь будет очень признательна!

5 ответов

В ваших примерах вы смешиваете кавычки и двойные кавычки без причины.

Если вы используете параметры, вы можете сделать следующее

На данный момент спасибо Хешам А. Амин 🙂

-File Параметр

Если вы хотите запустить powershell.exe -File из командной строки, вы всегда должны указывать пути с пробелами в двойных кавычках ( » ). Одинарные кавычки ( ‘ ) распознаются только PowerShell. Но так как powershell.exe вызывается (и, следовательно, обрабатывается параметр файла) из командной строки, вы должны использовать » .

-Command Параметр

Если вы используете параметр -Command вместо -File , содержимое -Command обрабатывается PowerShell, поэтому вы можете — и в этом случае придется — использовать ‘ внутри » .

Двойные кавычки обрабатываются командной строкой, и & ‘C:\Users\test\Documents\Test Space\test.ps1’ — это команда, которая фактически обрабатывается PowerShell.

Решение 1, очевидно, проще.

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

Это тоже сработает.

-EncodedCommand Параметр

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

Сначала вы должны создать закодированную команду

И тогда вы можете использовать параметр -EncodedCommand , как это

Чтобы добавить в эту тему:

Мне нужно было передать параметр с пробелами.

Я перетаскиваю файл в командный файл, и файл отключен на сервере с пробелами в пути и / или имени файла. После тестирования вышеупомянутых ответов я получил это, чтобы работать. Примечание. Я перехожу на рабочий каталог до запуска powershell.

Длинные имена файлов или пути с пробелами требуют кавычках

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

Исходная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 102739

Симптомы

Следующее сообщение об ошибке указывается при указании длинных имен файлов или путей с пробелами в Windows NT:

Системе не удается найти указанный файл

Причина

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

Решение

Используйте кавычка при указании длинных имен файлов или путей с пробелами. Например, при вводе copy c:\my file name d:\my new file name команды в командной подсказке будет выводиться следующее сообщение об ошибке:

Системе не удается найти указанный файл.

Необходимо использовать кавычка.

Читайте также:  Как запустить встроенный linux

Дополнительные сведения

Пробелы разрешены в длинных именах файлов или путях длиной до 255 символов с помощью NTFS. Однако все операции в командной подсказке, включающие длинные имена с пробелами, должны рассматриваться по-разному. Как правило, соглашение MS-DOS используется для указания параметра пробела после слова. В операциях командной Windows NT используется то же соглашение, что и при использовании длинных имен файлов.

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

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

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

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

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

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

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

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

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

XCOPY C: тестовая папка UsersfatiwOneDriveDesktopMy D: / T / E

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

XCOPY ‘C: UsersfatiwOneDriveDesktopMy папка теста’ D: / T / E

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

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

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

batch-file — Установите переменную пути с пробелами в пути в Windows .cmd или командном файле

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

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

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

Замыкающие пробелы в bat / cmd файлах.

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

(Окаймляющий знак # используется тут при выводе значения для того, что бы стало видно наличие замыкающего пробела в значении переменной ) С другой стороны, если в предыдущем примере не использовать кавычек, то результат будет тот же. Вот и возникает соблазн написать в короткой форме.

Но есть еще аспект – когда этот пробел появился там не по вашему желанию. Например, вы скопировали участок кода с сайта, или при редактировании значения остался пробел, который вы не видите. А теперь представьте, что значение такой переменной используется (как это однажды было в моей практике) при формировании имени архивного файла или списка аргументов, передаваемых внешней программе.

Искаженное значение переменной может доставить массу хлопот. Поэтому возьмите себе за правило – перед сохранением bat файла удалять в нем замыкающие пробелы. Например, в редакторе Notepad для этого есть специальная функция – Правка – Операции с пробелами – Убрать Замыкающие Пробелы. Это сохранит вам нервы, время и пространство на диске )).

Читайте также:  Linux systemd private tmp

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

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

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

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

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

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

Как перейти на другой диск

Если вам нужно перейти на другой диск, например, с диска C на диск D, то команду cd нужно выполнять с параметром /D . Например, если вам нужно перейти с диска C на диск D в папку GAMES, то вам нужно ввести команду:

Также вы можете просто ввести букву диска с двоеточием и таким образом перейти на другой диск.

Например, если вы находитесь на диске C и вам нужно перейти на диск D, то вы можете просто ввести команду «D:».

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

Пробелы в значениях переменных.

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

С переменной, в значении которой есть один или несколько пробелов, можно работать как и обычно

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

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Шаг второй: запоминаем нужные команды

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

  • cd — данная команда используется при любых взаимодействиях с папками;
  • dir — отображение всего содержимого в выбранном каталоге;
  • cls — очистка экрана cmd от предыдущей информации и команд;
  • help — показ общей справки по всем возможностям командной строки;
  • help CD — справка по отдельной команде;
  • cd .. — перемещение в корневую папку;
  • dir *.exe — показ списка всех файлов в данном каталоге, которые имеют расширение .exe.

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

Шаг первый: запуск командной строки

Все начинается с запуска данного приложения. Сделать это можно самыми разнообразными способами, которые актуальны для всех текущих версий операционной системы Windows. К ним относятся Windows XP, 7, 8, 10.

Итак, запустить командную строку вы можете следующими методами:

  1. Запустите приложение «Выполнить» и воспользуйтесь командой cmd.
  2. Найдите утилиту в поисковой строке.
  3. Запустите программу через меню «Пуск».

Также существует вариант запуска cmd уже из проводника. Это позволяет перейти в папку в командной строке без ввода большого количества команд. Например, вам нужно открыть cmd с указанным путем до папки System32. Для этого сначала открываем упомянутый каталог в проводнике, затем нажимаем ПКМ по свободному месту и в меню жмем на пункт «Открыть окно команд». На экране появится нужное приложение с заранее прописанной ссылкой до папки System32.

Шаг третий: используем команды на практике

Допустим, пользователю необходимо открыть директорию drivers, которая находится в системном разделе жесткого диска в папке Windows/system32. Для этого сделайте следующее:

Читайте также:  Linux поменять язык горячие клавиши

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

Публикация: 16 Октябрь 2020 Обновлено: 16 Октябрь 2020

В средах командной строки, таких как командная строка Windows и PowerShell, пробелы используются для разделения команд и аргументов, но имена файлов и папок также могут содержать пробелы. Чтобы указать путь к файлу имеющего символ пробела в названии или пути к файлу, вам нужно «экранировать» его.

Почему нужно избегать символ пробела?

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

Например, предположим, что у вас есть текстовый файл, содержимое которого вы хотите просмотреть. Вы можете сделать это с помощью команды type. Предполагая, что текстовый файл находится по адресу C:\Папка\File.txt, следующая команда в командной строке покажет содержимое файла:

Отлично! А что, если у вас есть такой же файл по адресу C:\Новая папка\File.txt? Если вы попробуете выполнить приведенную ниже команду, это не сработает — пробелы в пути к файлу мешают правильно обработать команду.

Командная строка считает, что вы пытаетесь найти файл с именем Новая, в результате вы получаете: «Ошибка во время обработки: C:\Новая.
Системе не удается найти указанный путь.».
Тоже самое будет? если пробел есть в имени файла New File.txt

Три способа избежать ошибок из-за символа пробел в Windows 10

Есть три разных способа избежать проблем используя пробел в пути к файлу Windows:

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

Мы покажем вам, как использовать каждый из перечисленных способов.

Заключите путь к файлу в кавычки («)

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

Вы можете заключить части пути в кавычки, если хотите. Например, предположим, что у вас есть файл с именем File.txt в этой папке. Вы можете запустить следующее:

Однако в этом нет необходимости — в большинстве случаев вы можете просто заключить весь путь в кавычки.

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

Иногда: используйте символ каретки для правильной обработки пробелов (^)

В командной строке символ каретки ^ теоретически позволяет избежать пробелов. Просто добавьте его перед каждым пробелом в имени файла. (Вы найдете этот символ в числовом ряду на клавиатуре. Чтобы ввести символ каретки, нажмите Shift + 6 .)

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

Например, запустите следующую команду, но она не сработает:

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

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

Итак, когда это работает? Что ж, исходя из нашего исследования, похоже, что с некоторыми приложениями он работает, а с другими — нет. Это может варьироваться в зависимости от команды, которую вы используете. Командная строка обрабатывает этот символ странно. Если вам интересно, попробуйте с любой командой, которую вы используете, — она ​​может работать, а может и не работать.

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

PowerShell: используйте символ ударения (`)

PowerShell использует знак ударения ` в качестве символа-пробела. Просто добавьте его перед каждым пробелом в имени файла. (Вы найдете этот символ над клавишей Tab и под клавишей Esc на клавиатуре.)

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

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

Если вы знакомы с UNIX-подобными операционными системами, такими как Linux и macOS, вы, возможно, привыкли использовать символ обратной косой черты ( \ ) перед пробелом, чтобы правильно обработать команду. Windows использует его для пути к файлам, поэтому он не работает — символы каретки ( ^ ) и ударения ( ` ) это своего рода обратная косая черта Windows в зависимости от того, какую оболочку вы используете.

Оцените статью