使用;
すべてのステートメント/改行の後に(ないカーリーブレース):これは私がインポートしたいものの一例です。また、if/elseを単純化することもできます。
PowerShell.exe -Command "& { $a = $false; if ($a -eq $false -or $b -eq $false) {'FALSE'; exit } }"
のBase64でそれをエンコードなど-EncodedCommand
を使用するか:あなたはバッチファイルで使用するBase64でエンコードされた文字列が含まれます
$command = @'
$a = $false
If ($a -eq $false)
{
"FALSE"
exit
}
Else
{
If ($b -eq $false)
{
"FALSE"
exit
}
}
'@
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
$encodedCommand
。
デモ:
powershell.exe -encodedCommand "JABhACAAPQAgACQAZgBhAGwAcwBlAA0ACgANAAoASQBmACAAKAAkAGEAIAAtAGUAcQAgACQAZgBhAGwAcwBlACkADQAKAHsADQAKACAAIAAgACAAIgBGAEEATABTAEUAIgANAAoAIAAgACAAIABlAHgAaQB0AA0ACgB9AA0ACgBFAGwAcwBlAA0ACgB7AA0ACgAgACAAIAAgAEkAZgAgACgAJABiACAALQBlAHEAIAAkAGYAYQBsAHMAZQApAA0ACgAgACAAIAAgAHsADQAKACAAIAAgACAAIAAgACAAIAAiAEYAQQBMAFMARQAiAA0ACgAgACAAIAAgACAAIAAgACAAZQB4AGkAdAANAAoAIAAgACAAIAB9AA0ACgB9AA=="
あなたはPowerShellスクリプトとして保存し 'たpowershell.exe - ファイルCでそれを呼び出すことができます:\ myscript.ps1'ていますが、単語' import'を使用考えると、私は」 1つのファイルが必要だと思います(もしそうなら、答えを見てください)。 –
返信ありがとうございます@FrodeF。はい、私は1つの.batファイルが必要です。あなたの答えは非常に役に立ちました。最後に、私は 'powershell -command'を使い、'; 'を使って私の' if'文を分離しました。しかし、コードを読みやすくするための方法があるのかどうかは、何とか1行ではなく多くの行で表示するのが難しいのではないでしょうか。 – DiVeRsi0n
二重のため申し訳ありませんが、私は "エンコード"の方法とは別にそれを行う方法について話していたと言いました。 – DiVeRsi0n