powershell - 在多个父文件夹中批量创建子文件夹

时间:2014-07-17 22:37:26

标签: batch-file powershell

我正在尝试创建一个' 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

}

}

1 个答案:

答案 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

 }

}