我试图创建一个powershell来在200多个父文件夹中创建一个新的子文件夹,但前提是父文件夹中存在另一个文件夹。到目前为止我的脚本在下面,没有错误,但它不会工作......任何帮助都会很好。
$foldername = "Folder1"
$sourceFolder = "C:\x\y\z"
foreach ($folder in (Get-ChildItem -Directory $sourceFolder)) {
if (!$foldername)
md FolderA
}
好的,我从头开始。我现在可以在所有子文件夹中创建'FolderB',但如果'FolderA'不存在,我就不能创建'FolderB'。
$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)
不是100%清楚你在追求什么,但也许是这样的?
ls $sourceFolder -Directory # get all directories
| ? { Test-Path (Join-Path $_.FullName $folderName) -PathType Container } # where a directory path of this folder+folderName exists
| % { mkdir (Join-Path $_.FullName FolderA) } #build up a path and make that directory
不确定如果在多行上分解它是否会起作用,你可能必须将它全部放在一行上或者在一行的末尾放一个`来强制它