Как подружить консоль PowerShell c квадратными скобками

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

CMD

Для примера создадим в корне пользовательского раздела папку с именем [data], закинем в нее два файла и попробуем вывести ее содержимое командой Get-ChildItem "E:\[data]". Ошибки нет, но нет и результата выполнения команды. Но если мы заменим командлет вывода содержимого командлетом перехода в папку Set-Location, то получим ошибку «путь не существует».

Set-Location

Причина ошибки даже очень проста.

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

Используя в приведенном выше примере квадратные скобки, мы даём команду вывести содержимое не папки [data], а ее родительского объекта, то есть корня диска, вернее, только тех файлов и папок, которые имеют названия d, a или t. По этой причине лучше не использовать в путях нестандартные или экзотические символы, а если без них уж никак, либо экранируйте их в PowerShell с помощью обратного апострофа (`), либо добавляйте специальный параметр LiteralPath.

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

Выполняем команду Get-ChildItem -LiteralPath "E:\[data]" и без проблем получаем список файлов в папке [data].

LiteralPath

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

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Что делать, если не отображается меню загрузки Grub

Если рядом с Windows 10 у вас установлена Linux, при каждом включении компьютера в меню ...

Как исправить ошибку «Планировщику заданий не удалось запустить задачу» с кодом событий 101

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

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

Работа в фоновом режиме от имени Системы, TrustedInstaller или Local Service — не единственное отличие ...

Как исправить ошибку «Программе установки Windows не удалось создать новый раздел»

Так называемая чистая установка Windows обычно предполагает переразбивку жесткого диска – процедуру, которая не всегда ...

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

Ваш адрес email не будет опубликован.