我需要檢查檔案夾中命名為“.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”的檔案
uj5u.com熱心網友回復:
您可以Where-Object在Directory屬性上指定“僅名為 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 }
uj5u.com熱心網友回復:
繼續我的評論。. .借助管道的一點幫助,我們可以使用Where-Object該特定名稱過濾目錄:
$azureDeployFiles = @('azureDeploy.parameters.json', 'azureDeploy.json')
Get-ChildItem -Path '.\MyPath' -Include $azureDeployFiles -Recurse |
Where-Object Directory -Like '*\.Policy'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/338501.html
