Powershell-在路径中使用通配符搜索特定子文件夹中的文件名
延长员额 你好 假设我们有以下文件和文件夹配置:Powershell-在路径中使用通配符搜索特定子文件夹中的文件名,powershell,wildcard,get-childitem,Powershell,Wildcard,Get Childitem,延长员额 你好 假设我们有以下文件和文件夹配置: C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\level03.txt C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\level03.yml C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\level04.txt C:\temp\FolderLevel01\Fol
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\level03.txt
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\level03.yml
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\level04.txt
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\level04.yml
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\Contract\contract.txt
C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\Contract\contract.yml
如果“Path”参数中的文件夹树结构正确,则可以检索contract.yml文件:
Get-ChildItem "C:\temp\FolderLevel01\FolderLevel02\FolderLevel03\FolderLevel04\Contract\" -Include "*.yml" -Recurse
Get-ChildItem "C:\temp\FolderLevel01\*\*\*\Contract\" -Include "*.yml" -Recurse
Get-ChildItem "C:\temp\FolderLevel01\*\*\*\Contract\*.yml"
但是如何检索“Contract\*.yml”如果
- 您事先不知道文件夹树
- 文件名未知(yml扩展名除外) 你唯一的信息是
- 文件位于特定文件夹(即合同)中
- 作为安全扩展名的文件(即.*.yml)
Get-ChildItem "C:\temp\FolderLevel01\" -Include "Contract\*.yml" -Recurse
分两步考虑:
$folder=(Get-ChildItem .\FolderLevel01\\Contract -Recurse)
$file=(Get-ChildItem ($folder.FullName + '\*.yml'))
是的,谢谢。我也用了两个步骤,但我正在寻找一个不可能的最短命令:-)