사용 ;
모든 문/LINEBREAK 후 (하지 곱슬 중괄호) : 이것은 내가 가져올 무엇의 예입니다. 또한 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'을 사용 고려, 내가 ' 당신이 하나의 파일을 원한다고 추측합니다 (그렇다면 답을보십시오). –
@FrodeF 답장을 보내 주셔서 감사합니다. 예, 저는 싱글 BAT 파일을 원합니다. 그리고 당신의 대답은 매우 유용했습니다. 마지막으로, 필자는'powershell -command'를 사용하고';'를 사용하여 제 if 문을 분리했습니다. 그러나 어떻게 든 코드를 여러 줄로 표시하여 코드를 읽기 쉽게 만드는 방법이 있는지 궁금합니다. – DiVeRsi0n
이중으로 불편을 드려 죄송 합니다만, "encode"방법과는 다른 방법으로 말씀 드리고자합니다. – DiVeRsi0n