Я пытаюсь использовать Get-ChildItem
в powershell (я использую псевдоним ls
), чтобы возвращать только файлы в указанной структуре папок c.
В качестве примера, скажем, я Я пытаюсь перечислить все файлы, имена которых заканчиваются на .foobar.txt
, которые находятся в папке с именем src
, которая, в свою очередь, находится в папке с именем even
. Я пытался использовать команду ls -r *\even\src\*.foobar.txt | % FullName
. Я думал, что первый подстановочный знак *
в пути разрешит любой путь, заканчивающийся \even\src\
, и что второй будет соответствовать только файлам, оканчивающимся на .foobar.txt
. Но он не возвращает все файлы, которые я ожидаю. Вот структура каталога, в котором я тестирую:
root
|- project1
| |- odd
| |- src
| | |- a.foobar.txt
| | |- b.foobar.txt
| | |- c.snafu.txt
| |
| |- temp
| |- a.foobar.txt
| |- b.foobar.txt
| |- c.snafu.txt
|
|- project2
| |- folder1
| |- folder2
| |- folder3
| |- folder4
| |- even
| |- src
| | |- a.foobar.txt
| | |- b.foobar.txt
| | |- c.snafu.txt
| |
| |- temp
| |- a.foobar.txt
| |- b.foobar.txt
| |- c.snafu.txt
|
|- project3
| |- odd
| |- src
| | |- a.foobar.txt
| | |- b.foobar.txt
| | |- c.snafu.txt
| |
| |- temp
| |- a.foobar.txt
| |- b.foobar.txt
| |- c.snafu.txt
|
|- project4
|- even
|- src
| |- a.foobar.txt
| |- b.foobar.txt
| |- c.snafu.txt
|
|- temp
|- a.foobar.txt
|- b.foobar.txt
|- c.snafu.txt
Вывод команды выше
root\project4\even\src\a.foobar.txt
root\project4\even\src\b.foobar.txt
Однако я ожидал
root\project2\folder1\folder2\folder3\folder4\even\src\a.foobar.txt
root\project2\folder1\folder2\folder3\folder4\even\src\b.foobar.txt
root\project4\even\src\a.foobar.txt
root\project4\even\src\b.foobar.txt
Как изменить команду, чтобы она также находила файлы в папке project2
?