Здравствуйте, Shmj, Вы писали:
S>вызываю эту функцию с корнем диска. Оно перебирает все папки, но не перебирает файлы внутри папки с [].
Ваш пример точно работает после замены -Path на -LiteralPath в -Get-ChildItem?
Если в строке, передаваемой в -Path, нет шаблонных выражений, она интерпретируется, как литеральная. Если Вы указываете "-Path c:\", то шаблонной интерпретации не происходит — формируется полный список подкаталогов корневого каталога, и никакой фильтрации по именам там нет. Если в корневом каталоге есть имена, содержащие квадратные скобки — они так же включаются в список.
А если Вы полученные имена затем передаете параметром в другие операции, указывая их, как шаблоны, а не буквальные строки, то операция интерпретирует их, как шаблон.