0
這工作得很好,以創建在管道的多個文件夾:功能創建文件夾
Function Make-Folders {
[CmdletBinding(SupportsShouldProcess=$True)]
Param(
[parameter(Mandatory=$true,Position=0)]
[ValidateScript({Test-Path $_ -PathType Container})]
[ValidateNotNullOrEmpty()]
[String]$Path,
[parameter(Mandatory=$true,ValueFromPipeline=$true,Position=1)]
[ValidateNotNullOrEmpty()]
[String[]]$Name
)
$Name | ForEach-Object {
if (Test-Path "$Path\$_" -PathType Container) {
Write-Verbose "-Exists: $Path\$_"
}
else {
New-Item "$Path\$_" -Type Directory > $null
Write-Verbose "-Created: $Path\$_"
}
}
}
$Permissions.Folder | Make-Folders -Path c:\Root -Verbose
當我檢查:
Function Add-Folders {
$Permissions.Folder | ForEach-Object {
if (Test-Path "$Path\$_" -PathType Container) {
Write-Verbose "-Exists: $Path\$_"
}
else {
New-Item "$Path\$_" -Type Directory > $null
Write-Verbose "-Created: $Path\$_"
}
}
}
當我管多個文件夾名稱,以它這一個不工作在調試模式下,我可以看到$Name
只接收到Permissions.Folder
中可用的最後一個文件夾名稱。我真的不明白爲什麼它沒有管道的一切..可能我在這裏錯過了一些明顯的東西。