DiV*_*i0n 1 powershell batch-file
我在将PowerShell脚本导入批处理脚本时遇到问题.现在我正在使用它powershell -Command "& { }"来做这个,我正在分离每一行的PowerShell代码;.但我不知道该怎么做才能导入我的if陈述.这是我要导入的示例:
If ($a -eq $false)
{
"FALSE"
exit
}
Else
{
If ($b -eq $false)
{
"FALSE"
exit
}
}
Run Code Online (Sandbox Code Playgroud)
;在每个语句/换行符后使用(不是大括号).此外,您可以简化if/else.
PowerShell.exe -Command "& { $a = $false; if ($a -eq $false -or $b -eq $false) {'FALSE'; exit } }"
Run Code Online (Sandbox Code Playgroud)
或使用Base64编码并使用-EncodedCommand如下:
$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)
Run Code Online (Sandbox Code Playgroud)
$encodedCommand 将包括您将在批处理文件中使用的Base64编码的字符串.
演示:
powershell.exe -encodedCommand "JABhACAAPQAgACQAZgBhAGwAcwBlAA0ACgANAAoASQBmACAAKAAkAGEAIAAtAGUAcQAgACQAZgBhAGwAcwBlACkADQAKAHsADQAKACAAIAAgACAAIgBGAEEATABTAEUAIgANAAoAIAAgACAAIABlAHgAaQB0AA0ACgB9AA0ACgBFAGwAcwBlAA0ACgB7AA0ACgAgACAAIAAgAEkAZgAgACgAJABiACAALQBlAHEAIAAkAGYAYQBsAHMAZQApAA0ACgAgACAAIAAgAHsADQAKACAAIAAgACAAIAAgACAAIAAiAEYAQQBMAFMARQAiAA0ACgAgACAAIAAgACAAIAAgACAAZQB4AGkAdAANAAoAIAAgACAAIAB9AA0ACgB9AA=="
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |