我正在尝试创建一个' FolderB'所有文件夹中的子文件夹' Folder1'通过' Folder200'。只有在' Folder1'通过' Folder200'包含一个名为' FolderA'的子文件夹。然后在与FolderA相同的级别创建FolderB。我可以创建FolderB,但我不能让脚本跳过任何不包含FolderA的父文件夹....
$root = "\\server\folder1"
ForEach ($dir in (Get-Item -Path "$root\*\" | ?{$_.PSIsContainer})){
If (!(Test-Path -Path "\*\FolderA")) {
New-Item -Path "$root\*\" -Name "FolderB" -ItemType Directory | Out-Null
}
}
答案 0 :(得分:0)
在这里,这应该对你有用。它实际上在循环中使用路径进行测试,我修复了你的If语句,因为你正在检查如果没有FolderA,那么创建FolderB:
$root = "\\server\folder1"
ForEach ($dir in (Get-ChildItem -Path "$root\*\" | ?{$_.PSIsContainer} | Select -Expand Name)){
If ((Test-Path "$dir\FolderA")) {
New-Item -Path "$dir\FolderB" -ItemType Directory | Out-Null
}
}