powershell - Powershell - 在路径中使用通配符在特定子文件夹中搜索文件名
问题描述
你好呀!
假设我们有这个文件和文件夹配置:
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
如果我们在“路径”参数中有正确的文件夹树结构,我们可以检索 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'))
推荐阅读
- java - HTTP 404 Not Found - 源服务器没有找到目标资源的当前表示或不愿意透露存在的表示
- firebase - 有没有办法设置 Firebase 刷新令牌的过期时间?
- python - pytest 失败并显示“错误:找不到文件或目录:和”
- python - Python - 拆分 DataFrame 以制作训练集
- java - 如何从具有任意深度的深度嵌套哈希表中检索值?
- jquery - 使用 jquery 从克隆的输入字段上传多个文件
- ios - Tableview numberOfRowsInSection 返回重复的.count 数字?
- python - 使用外部 CMD 启动程序,检测何时关闭
- python - 将函数应用于 NumPy 数组的唯一值
- api - 端点应该设计多深的资源访问权限