get-childitem 在同名文件夹中查找文件
get-childitem find files in folders with same names
我需要检查命名为“.policy”的文件夹中的所有文件是否为以太 'azureDeploy.parameters.json' 或 'azureDeploy.json'
如果我只希望它检查一个文件夹,我只需给出完整路径,如下所示:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
(Get-ChildItem -path ..\..\fes\.policy -file -Recurse).name | Should -BeIn $azureDeployFiles
那行得通。但是我有多个名为 '.\..\..\.policy'
的文件夹,我想检查所有具有该命名的文件夹是否仅包含具有命名 'azureDeploy.parameters.json' 或 'azureDeploy.json'
的文件
您可以在 Directory
上用 Where-Object
指定 'only files in folders named X' 属性:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
Get-ChildItem -path ..\..\ -Recurse -File |
Where Directory -Like "*\.policy" |
# example checking file names with -In
Foreach { $_.Name -In $azureDeployFiles }
继续我的评论。 . .在管道的帮助下,我们可以使用 Where-Object
来过滤具有特定名称的目录:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
Get-ChildItem -Path '.\MyPath' -Include $azureDeployFiles -Recurse |
Where-Object Directory -Like '*\.Policy'
我需要检查命名为“.policy”的文件夹中的所有文件是否为以太 'azureDeploy.parameters.json' 或 'azureDeploy.json'
如果我只希望它检查一个文件夹,我只需给出完整路径,如下所示:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
(Get-ChildItem -path ..\..\fes\.policy -file -Recurse).name | Should -BeIn $azureDeployFiles
那行得通。但是我有多个名为 '.\..\..\.policy'
的文件夹,我想检查所有具有该命名的文件夹是否仅包含具有命名 'azureDeploy.parameters.json' 或 'azureDeploy.json'
您可以在 Directory
上用 Where-Object
指定 'only files in folders named X' 属性:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
Get-ChildItem -path ..\..\ -Recurse -File |
Where Directory -Like "*\.policy" |
# example checking file names with -In
Foreach { $_.Name -In $azureDeployFiles }
继续我的评论。 . .在管道的帮助下,我们可以使用 Where-Object
来过滤具有特定名称的目录:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
Get-ChildItem -Path '.\MyPath' -Include $azureDeployFiles -Recurse |
Where-Object Directory -Like '*\.Policy'