Regex 如何查找所有.git\config文件?

Regex 如何查找所有.git\config文件?,regex,git,powershell,Regex,Git,Powershell,我正在尝试查找所有.git\config文件,但我不知道如何查找 当我仅仅使用\.git作为模式时,它会查找所有目录 Get-ChildItem -Path C:\Repositories -Recurse -Hidden | Where-Object { $_.FullName -match '\.git' } | Select-Object FullName 但当我将其检查为\.git\\config$以仅提供config文件时,它不会产生任何结果

我正在尝试查找所有
.git\config
文件,但我不知道如何查找

当我仅仅使用
\.git
作为模式时,它会查找所有目录

Get-ChildItem -Path C:\Repositories -Recurse -Hidden |
    Where-Object { 
        $_.FullName -match '\.git'
    } |
    Select-Object FullName
但当我将其检查为
\.git\\config$
以仅提供
config
文件时,它不会产生任何结果:

Get-ChildItem -Path C:\Repositories -Recurse -Hidden |
    Where-Object { 
        $_.FullName -match '\.git\\config$'
    } |
    Select-Object FullName
我错过了什么?是因为
config
文件没有扩展名吗


我正在使用powershell 5.1。

config
不是隐藏文件,因此仅显示隐藏文件会导致忽略它

Get-ChildItem -Recurse -Force | where-object fullname -match '\.git\\config'

我认为您的正则表达式没有问题--您确定
$\ux.FullName
包含完整的文件路径吗?回显它们,并确保您与您认为的匹配。@Bananaapple这样做是因为当我仅使用
config
作为模式时,它会找到所有
app.config
s和包含此单词的其他路径,但它不会在隐藏目录上递归,当我添加
-Hidden
时,它只搜索隐藏的目录,就像它是互斥的,或者,但是因为只有
.git
是隐藏的,
config
不是,它似乎停止在文件夹级别:-|太好了,
Force
,他们难道不能将它命名为所有或所有-一个人可以徒劳地sarach:-\同意。就我个人而言,我认为让
Get-
cmdlet根据其属性隐藏任意内容是与PowerShell的设计背道而驰的-你还必须在哪里粘贴参数“不要对我撒谎”呢?这还将匹配目录,而不仅仅是文件。我是否可以建议包含一个
-文件
,并且在进行此操作时,还可以使用本机筛选,而不是将所有条目都提供给管道<代码>获取子项-包括config-File-Recurse-Force | where{$\目录名.EndsWith(“.git”)}@TToni由于“EndsWith”测试,您建议的版本出现了
libgit2\tests\resources\bad_tag.git\config
和类似的错误文件。而且
getchilditem-Include
非常烦躁,我尽可能避免使用它。它的行为与
Get ChildItem-Path config-recurse
相同,因为“Include限定了路径组件”,我发现这总是不可预测的,就个人而言。
Get ChildItem
不会在IMO中任意隐藏内容。
Hidden
System
文件通常不是枚举的一部分,除非您特别要求它们(因此,
-强制它枚举所有项目)。