我知道powershell没有goto语句。我的要求如下:
foreach($x in $xyz)
{
#something works fine
if($a -eq $b)
{
#something works fine
if($c -eq $d)
{
$c | Add-Content "path\text.txt"
}else
{
#Here I need to go to the first if statement, rather than going to foreach loop
}
}else
{
#nothing
}
}
尝试过break:----和函数,但两者似乎都不适用于我的情况。当我使用break:----时,它会通知最后一个错误。当我尝试使用如下功能时:
foreach($x in $xyz)
{
#something works fine
function xyz
{
if($a -eq $b)
{
#something works fine
if($c -eq $d)
{
$c | Add-Content "path\text.txt"
}else
{
xyz
}
}else
{
#nothing
}
}
}
它没有进入函数xyz。
实现此目的的任何其他建议。?任何帮助都会非常感激。
答案 0 :(得分:3)
我认为你想要的是嵌套循环:
foreach ($item in $data) {
while (condition $data) {
# Do stuff, calculate $state
if (otherCondition($state)) {
# without label will exit in inner loop only,
# execution will continue at Point-X.
break;
}
# more stuff
}
# Point-X
}