一行に一つのコマンドが書かれた文字列変数があります。PowerShellで各行をfor文で繰り返し実行するにはどのようにすれば良いですか

PowerShellで各行をfor文で繰り返し実行するには、以下のようなコードを使用できます。この例では、$commandsという変数にコマンドが格納されていると仮定しています。

$commands = @"
コマンド1
コマンド2
コマンド3
"@

$commands -split "`n" | ForEach-Object {
    Invoke-Expression $_
}

このコードでは、-split "n"を使用して文字列を改行で分割し、ForEach-Objectを使用して各行を繰り返し、Invoke-Expression`を使用して各行のコマンドを実行します。

ただし、Invoke-Expressionは潜在的なセキュリティリスクを持つため、信頼できるコマンドのみを実行するように注意してください。不明なコマンドを実行すると、システムが危険にさらされる可能性があります。安全な操作を常に確保してください。