同じPowerShellスクリプトの別のセクションにスクリプト内のあるセクションからジャンプしたいとします。私のスクリプトは今のところトップからボトムに行くだけですが、いくつかのタスクがあります。例えば私はスクリプトの冒頭にあるタスクリストから選択し、タスク番号2のスキップタスク1に行きたいと思っています。PowerShellスクリプト内の別のセクションにジャンプする
これはあなたにとって意味があると思っています。私のスクリプトを見てください:
Write-Host -ForegroundColor Yellow "welcome to my powershell script..."
""
""
""
Start-Sleep -Seconds 1
Write-Host -ForegroundColor Yellow "Choose a task:"
""
""
Write-Host -ForegroundColor Yellow "1. Clean up"
Write-Host -ForegroundColor Yellow "2. Uninstall Pre-Installed Apps"
Write-Host -ForegroundColor Yellow "3. Something should be written here"
""
""
""
While ($Valg -ne "1" -or $Valg -ne "2" -or $Valg -ne "3") {
$Valg = Read-Host "Choose a number from the task list"
If ($Valg –eq "1") { Break }
If ($Valg –eq "2") { Break }
If ($Valg –eq "3") { Break }
if ($Valg -ne "1" -or $Valg -ne "2" -or $Valg -ne "3") {
""
Write-Host -ForegroundColor Red "Ups. Try again..."
}
}
#### 1. First task should come here (clean up)
#some code here for the "cleaning up" task
#### 2. Second task here
#some code here for the "Uninstall Pre-Installed Apps" task
#### 3. Third task there
#Some code for the third task here
#### And so on...
こんにちは@Amenと返事をどうもありがとうございました。 このような意味ですか? '$ Valg = ($ Valg -eq「1” )の場合、 "タスク・リストから番号を選択し、" ホストが読み取り{ブレーク;} IF($ Valg -eq「2” ){ブレーク;} {ブレーク;}($ Valg -eq「3” )の場合= 2 スイッチ($ Valg) {1 { 取得日付 $ Valg。 休憩。 } 2 { Get-Service break; } 3 { Get-ChildItem break; } デフォルト{Get-NetAdapter} } ' –
はい@PhillipLuiSkouGreen、それはうまくいくはずです。あなたは以下のようにそれをさらに簡素化することができます。 *** $ Valg = read-host "タスクリストから番号を選択" switch($ Valg){1 {Get-date;ブレーク; } 2 {Get-Service break; } 3 {Get-ChildItem break;} } default {Get-NetAdapter}} *** –
私は関数を使用し、スクリプトの種類に応じてswitch文を使用するかどうかを決定します(スイッチではもちろん関数を呼び出します) – bluuf