如何告诉我的脚本返回脚本的某个点?

时间:2014-10-05 16:38:46

标签: powershell

到目前为止,这是我的脚本:

$BookTitle = Read-Host "Enter Book Title"

If ($BookTitle -eq "") 

    { 
     [System.Media.SystemSounds]::Beep.Play();
     Write-Host "Please enter a book title"
    }

Else 
    {
     Write-Host "" ; 
     Write-Host "Book title is: $BookTitle"
    }

我想要做的是如果用户输入的书名为空,我希望脚本执行错误代码块:

{ 
 [System.Media.SystemSounds]::Beep.Play();
 Write-Host "Please enter a book title"
} 

然后跳回到这个特定细分的开头:

$BookTitle = Read-Host "Enter Book Title"

而不是继续使用脚本的其余部分。我不希望它跳到整个脚本的开头,因为我打算在脚本中经常使用这种逻辑。

我不知道该怎么做。我尝试过使用循环,比如Do ... While,Do ...直到,虽然,但我一直在获得无限循环。

所以我的问题是,我做错了什么?我应该使用循环而不是条件语句吗?两者的混合物?

1 个答案:

答案 0 :(得分:1)

Do {   
   $BookTitle = read-host "enter booktitle.."
   [System.Media.SystemSounds]::Beep.Play(); 
} while ($BookTitle -eq "")

$BookTitle