Я пытаюсь использовать GCI с аргументом Recurse, чтобы получить список всех файлов в подпапках указанного пути.
Я использую следующую строку:
gci 'C:\temp\TestRecurse\*\*' -Recurse
Под папкой TestRecurse у меня есть следующее:
TestRecurse
|---b.txt
|---dir1
|------a.txt
Я ожидаю, что a.txt будет возвращен. Тем не менее, я получаю a.txt и b.txt. Мне незнакомец, если я помещу a.txt в другую подпапку:
TestRecurse
|---b.txt
|---dir1
|------dir2
|---------a.txt
То же утверждение выше только возвращает a.txt. Я сбит с толку относительно того, как изменяется беспорядок с местоположением a.txt, когда возвращается b.txt. Может кто-нибудь объяснить мне, почему это происходит и почему вообще возвращается b.txt?
Обновление
Я должен упомянуть, хотя они ценятся, я не обязательно ищу обходной путь. Это часть более крупного скрипта в нашей среде, который отвечает за перемещение файлов различными способами, стараясь сохранять гибкость. Он ведет себя не так, как я ожидал, поэтому я пытаюсь понять, почему он работает так, как есть. Как отмечает PetSerAl, понимание Get-ChildItem может быть более сложным, чем оно того стоит.
Спасибо!