如何解决如果不是空的跳转到PS中的某个地方
你好,早上好(:
我想看看是否能够在不将其包装在 ScriptBlock 中的情况下跳转到 PS 中的某个位置;该死,我什至可以接受,但是,我不确定如何去做。
我想要做的是:向函数添加参数集,如果向参数 -GrpSelec
提供了某些内容(我知道立即更改它),然后跳过脚本的其余部分并继续到我的 $swap
变量以执行切换。
$Group1 = @("1st Group","2nd Group")
$Group2 = @("3rd Group","4th Group")
Function Test-Group{
param(
[validateset("Group1","group2")]
[array]$GrpSelec)
if($GrpSelec){ &$swap }
$AllGroups = @("Group1","Group2")
for($i=0; $i -lt $AllGroups.Count; $i++){
Write-Host "$($i): $($AllGroups[$i])"}
$GrpSelec = Read-Host -Prompt "Select Group(s)"
$GrpSelec = $GrpSelec -split " "
$swap = Switch -Exact ($GrpSelec){
{1 -or "Group1"} {"$Group1"}
{2 -or "Group2"} {"$Group2"}
}
Foreach($Group in $swap){
"$Group"}
}
这样的事情有可能吗?
我在谷歌上搜索了几个类似的问题,这些问题指向调用运算符 &
(如上所示)和/或 foreach
,这绝对不是同一个哈哈。
放轻松,我只是在试验(:
解决方法
简单的 if
语句怎么样?
function Test-Group {
param(
[string[]]$GrpSelec
)
if(!$PSBoundParameters.ContainsKey('GrpSelect')){
# no argument was passed to -GrpSelec,# populate $GrpSelec in here before proceeding with the rest of the script
}
# Now that $GrpSelec has been populated,let's do the work
$swap = Switch -Exact ($GrpSelec){
{1 -or "Group1"} {"$Group1"}
{2 -or "Group2"} {"$Group2"}
}
# rest of function
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。