Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如果不是空的,跳转到PS中的某个地方_Powershell_Powershell 5.0 - Fatal编程技术网

Powershell 如果不是空的,跳转到PS中的某个地方

Powershell 如果不是空的,跳转到PS中的某个地方,powershell,powershell-5.0,Powershell,Powershell 5.0,你好,早上好 我想看看我是否能够跳转到PS中的某个地方,而不必用脚本块包装它;见鬼,我甚至可以接受这一点,但我只是不确定如何去做 我试图做的是:向函数添加一个参数集,如果参数-GrpSelec(我知道imma会更改它),那么只需跳过脚本的其余部分,转到我的$swap变量来执行切换 $Group1 = @("1st Group", "2nd Group") $Group2 = @("3rd Group", "4th Group&

你好,早上好

我想看看我是否能够跳转到PS中的某个地方,而不必用脚本块包装它;见鬼,我甚至可以接受这一点,但我只是不确定如何去做

我试图做的是:向函数添加一个参数集,如果参数
-GrpSelec
(我知道imma会更改它),那么只需跳过脚本的其余部分,转到我的
$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
,这绝对不是同一个lol


别紧张,我只是在试验(:

一个简单的
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
}

一个简单的
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
}

我想我的问题是试图从
$AllGroups
数组中进行选择。我试图采纳您的建议,但即使我为参数提供了一个值,它仍然会提示我选择2个groups.GrpSelec和GrpSelect@notjustme谢谢你,我没有注意到!现在我只是有一个问题,它的公关我想我的问题是试图从
$AllGroups
数组中进行选择。我试图采纳你的建议,但即使我为参数提供了一个值,它仍然会提示我选择两个组。GrpSelec和GrpSelect@notjustme谢谢你,我没有注意到!现在我有一个问题,它打印出了两个数组,即使我只打电话给一个也会在周一发布一个单独的问题