Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Не "игнорит", а интерпретирует символы, как элемент шаблона (wildcard), наравне с традиционными "*" и "?".
Но ведь * и ? — запрещены в названиях папок и файлов — здесь вопросов нет. А вот [] — разрешены, по этому просто так использовать их как спец. символы — было не разумно.
S>>И нужно использовать не -Path а -LiteralPath.
ЕМ>Как и во всех остальных языках/утилитах, которые предполагают в строках наличие метасимволов, или экранировать их предусмотренным образом.
Так это же не к строке относится — в строках они ничего не значат. Это именно к -Path. Причем для New-Item, к примеру, — нет особого Literal-Path — только -Path.
S>>Знали ли вы об этом?
ЕМ>Я не знал (редко использую PowerShell), но из документации по Вашей ссылке это видно однозначно. Уже само наличие -LiteralPath в дополнение к -Path должно было навести на мысль, если бы Вы начали с документации.
В первом примере нет -LiteralPath.
S>>Как нужно бороться с подобными ошибками?
ЕМ>Не делать вида, будто, взяв нагугленный где-то готовый пример, и наскоро переделав под себя, Вы действительно "смотрели доку" до того, а не после того, как нарвались.
Если в доке будут такие подлянки — то ты ее будешь учить годами и все-равно знать не будешь. Пока выучишь — язык станет не актуальным.