Здравствуйте, Shmj, Вы писали:
S>А здесь я что, указывают регулярное выражение? Нет, конечно — я указываю путь к файлу.
В -Path Вы указываете
шаблон пути к файлу. Это [p]явно[/p] указано в описании параметра ("Wildcards are accepted"). Но Вы решили, что описание параметров — не для Вас, и дочитали только до примеров. Само по себе это не страшно — я тоже периодически так нарываюсь. А вот то, что подняли хай насчет "подлянки" вместо того, чтоб самого себя стукнуть по голове — это уровень тупого юзера, а не программиста.
S>те символы которые могут быть частью имени файла или папки — с чего вдруг трактуются как шаблон?
С того, что шаблон в PowerShell может содержать символы, допустимые в имени файла. Точно так же, регулярное выражение, применяемое к произвольному тексту, не накладывает никаких ограничений на символьный состав текста. Если Вас это удивляет, Вам необходимо углубить образование.
S>Это путь к файлу а не регулярное выражение.
Это
шаблон пути к файлу. То есть, это
текстовое выражение, описывающие
множество подходящих под него путей.
S>Вы запутали человека выше — он подумал что проблема в экранировании символов
Я плохо знаком с синтаксисом PowerShell — возможно, там есть и возможность экранирования. Но экранирование не решает всех возможных проблем, поэтому и существует -LiteralPath.
ЕМ>>Наверное, потому, что "шаблонная" интерпретация символов в New-Item не имеет смысла, да?
S>Т.е. вы считаете это нормальным?
Абсолютно. Если Вы считаете это ненормальным, то Вы определенно занимаетесь не своим делом.
S>По идее нужно все-равно трактовать как шаблонные символы и выдавать ошибку.
С чего вдруг? New-Item создает
конкретный объект с
полностью определенным именем. Как Вы представляете себе создание объекта, имя которого представлено шаблоном? А Get-Item/Get-ChildItem выбирают
множество существующих объектов, имена которых подпадают под заданное условие (шаблон).
S>С 1 по 9 пример — получение файлов по пути — везде указан -Path. LiteralPath ни в одном примере нет