2014-10-05 25 views
2

這是到目前爲止我的腳本:如何告訴我的腳本返回到腳本的某個點?

$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 ... Until,While,但是我一直得到無限循環。

所以我的問題是,我做錯了什麼?我應該使用循環而不是條件語句嗎?兩者的混合?

回答

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

$BookTitle 
+0

謝謝!這是我正在尋找的。 – TheRedMaverick 2014-10-05 18:13:30

相關問題