【发布时间】:2020-05-06 23:12:06
【问题描述】:
我正在尝试在 powershell 中使用 Get-ChildItem(我使用的是 ls 别名)仅返回特定文件夹结构中的文件。
例如,假设我试图列出名称以.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 文件夹中找到文件?
【问题讨论】:
标签: powershell wildcard directory-structure ls get-childitem