Информация об изменениях

Сообщение Re[8]: Подлянка с -Path/-LiteralPath в PowerShell - что дела от 10.07.2024 17:04

Изменено 10.07.2024 17:06 Shmj

Re[8]: Подлянка с -Path/-LiteralPath в PowerShell - что дела
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>В исходном сообщении Вы описали проблему не так. Там написано: "Get-ChildItem -Path ... не работает для папок, в пути которых есть символы []. Содержание таких папок просто игнорит".


Именно так.

ЕМ>Если Вы выполните (хоть вручную) "Get-ChildItem -Path . -Recurse",


Про -Recurse речи не было.

Мне не подходит -Recurse, т.к. там 2 млн. папок очень долго ждать пока оно соберет весь список. По этому обхожу рекурсивно в ручном режиме папка за папкой.

ЕМ>То есть, Вы описали проблему некорректно — дело не в тех символах, что в именах папок/файлов, а в тех, что в параметре -Path. Более корректное описание выглядело бы примерно так: "при указании в параметре -Path строки с символами [], папки с такими именами не находятся".


Я сроку не указываю а передаю результат, который вернула Get-ChildItem.

Если бы я написал так — то можно было бы подумать, что символы [] являются управляющими внутри строки (типа символа $) и я просто забыл их заэкранировать. Но нет, я не пишу строку вручную — а просто вызываю подсовываю переменную с тем значением, которое вернула сама же Get-ChildItem.
Re[8]: Подлянка с -Path/-LiteralPath в PowerShell - что дела
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>В исходном сообщении Вы описали проблему не так. Там написано: "Get-ChildItem -Path ... не работает для папок, в пути которых есть символы []. Содержание таких папок просто игнорит".


Именно так.

ЕМ>Если Вы выполните (хоть вручную) "Get-ChildItem -Path . -Recurse",


Про -Recurse речи не было.

Мне не подходит -Recurse, т.к. там 2 млн. папок очень долго ждать пока оно соберет весь список. По этому обхожу рекурсивно в ручном режиме папка за папкой.

ЕМ>То есть, Вы описали проблему некорректно — дело не в тех символах, что в именах папок/файлов, а в тех, что в параметре -Path. Более корректное описание выглядело бы примерно так: "при указании в параметре -Path строки с символами [], папки с такими именами не находятся".


Я сроку не указываю а передаю результат, который вернула Get-ChildItem.

Если бы я написал так — то можно было бы подумать, что символы [] являются управляющими внутри строки (типа символа $) и я просто забыл их заэкранировать. Но нет, я не пишу строку вручную — а просто подсовываю переменную с тем значением, которое вернула сама же Get-ChildItem.