在我的函数中,我有三个非必填的、非位置参数
Folder1、Folder2和Folder3
,在运行我的函数之前,我想检查每个选择的参数是否存在文件夹。它必须是一些动态的东西,因为用户可以随意指定一个、两个或三个文件夹。
提前谢谢。Folder1、Folder2和Folder3
,在运行我的函数之前,我想检查每个选择的参数是否存在文件夹。它必须是一些动态的东西,因为用户可以随意指定一个、两个或三个文件夹。
提前谢谢。你可以将数组传递给Test-Path
Test-Path c:, d:, e:
True
True
True
编辑
从你的评论中,我理解你可能有这样一些情况:
$mypaths = "c:","d:",$null
Test-Path $mypaths
Test-Path : Cannot bind argument to parameter 'Path' because it is null.
然后您可以尝试这个:
$mypaths = "c:","d:",$null
$mypaths | Foreach { if ($_){Test-Path $_}}
$valid = $mypaths | Foreach { if ($_){Test-Path $_}}
write-host "Variable `$mypaths contains $($mypaths.count) paths, and $($valid.count) were found valid"
这将输出:
Variable $mypaths contains 3 paths, and 2 were found valid
Test-Path: 无法将参数“Path”绑定到空字符串
。 - kekimian$valid = $mypaths | where {$_ -and (Test-Path $_)}
。 - Tomalak