Re[2]: Подлянка с -Path/-LiteralPath в PowerShell - что делать?
От: Shmj Ниоткуда  
Дата: 10.07.24 10:05
Оценка: -2 :)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Не "игнорит", а интерпретирует символы, как элемент шаблона (wildcard), наравне с традиционными "*" и "?".


Но ведь * и ? — запрещены в названиях папок и файлов — здесь вопросов нет. А вот [] — разрешены, по этому просто так использовать их как спец. символы — было не разумно.

S>>И нужно использовать не -Path а -LiteralPath.


ЕМ>Как и во всех остальных языках/утилитах, которые предполагают в строках наличие метасимволов, или экранировать их предусмотренным образом.


Так это же не к строке относится — в строках они ничего не значат. Это именно к -Path. Причем для New-Item, к примеру, — нет особого Literal-Path — только -Path.

S>>Знали ли вы об этом?


ЕМ>Я не знал (редко использую PowerShell), но из документации по Вашей ссылке это видно однозначно. Уже само наличие -LiteralPath в дополнение к -Path должно было навести на мысль, если бы Вы начали с документации.


В первом примере нет -LiteralPath.

S>>Как нужно бороться с подобными ошибками?

ЕМ>Не делать вида, будто, взяв нагугленный где-то готовый пример, и наскоро переделав под себя, Вы действительно "смотрели доку" до того, а не после того, как нарвались.

Если в доке будут такие подлянки — то ты ее будешь учить годами и все-равно знать не будешь. Пока выучишь — язык станет не актуальным.
=сначала спроси у GPT=
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.