Цикл PowerShell до переменной - PullRequest
0 голосов
/ 09 января 2019

У меня есть простой кусок кода, который я хочу зациклить, пока он не достигнет переменной, заданной пользователем (то есть, если пользователь говорит 3, зацикливается 3 раза)

$quantidade = Read-Host -Prompt 'NUMERO DE INSTANCIAS'
$loop = 0
while ($loop -ne $quantidade) {
    $Servers = Read-Host -Prompt 'NOME SQL'
    $Version = Read-Host -Prompt 'VERSAO SQL? (2014,2012,...'

    if ($Version -eq "2014") {
        Write-Host "VERSAO 2014"
        $VERSQL = "12"
    } elseif ($Version -eq "2008") {
        Write-Host "VERSAO 2008"
        $VERSQL = "10"
    } elseif ($Version -eq "2012") {
        Write-Host "VERSAO 2012"
        $VERSQL = "11"
    } elseif ($Version -eq "2016") {
        Write-Host "VERSAO 2016"
        $VERSQL = "13"
    } elseif ($Version -eq "2017") {
        Write-Host "VERSAO 2017"
        $VERSQL = "14"
    } else {
        Write-Host "ERRO"
        break
    }

    Write-Host "You input server '$Servers' and '$Version'"

    $SQL = -join("%ProgramFiles%\Microsoft SQL Server\MSSQL", $VERSQL, ".", $Servers, "\MSSQL\Binn\sqlservr.exe")

    Write-Host $SQL
    $loop = $lopp + 1
    Write-Host $loop
}

Я знаю, что не так, сумма делается внутри цикла, делая ее всегда 0 + 1 = 1. Какой лучший способ обойти это?

1 Ответ

0 голосов
/ 09 января 2019

Решение (которое мне удалось сделать до сих пор с помощью вас, ребята, хотя я бы ЛЮБИМО, чтобы переключиться на работу с ним) это

$Quantidade = Read-Host -Prompt 'NUMERO DE INSTANCIAS'

for ($i=1;$i -le $quantidade;$i++) {

$Servers = Read-Host -Prompt 'NOME SQL'
$Version = Read-Host -Prompt 'VERSAO SQL? (2014,2012,...'

if($Version -eq "2014"){
Write-Host "VERSAO 2014"
$VERSQL="12"
}
elseif($Version -eq"2008"){
Write-Host "VERSAO 2008"
$VERSQL="10"
}
elseif($Version -eq"2012")
{Write-Host "VERSAO 2012"
$VERSQL="11"
}
elseif($Version -eq"2016"){
Write-Host "VERSAO 2016"
$VERSQL="13"
}
elseif($Version -eq"2017")
{Write-Host "VERSAO 2017"
$VERSQL="14"
}
else{
Write-Host "ERRO"
break
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...