PowerShell执行脚本,获取返回值

更新于 2025-10-03

在 PowerShell 中执行脚本并获取返回值,可以使用以下几种方式,具体取决于你想“返回”什么类型的数据:

1. 获取脚本的输出(标准输出)

如果你有一个 PowerShell 脚本(如 myscript.ps1),可以这样获取其输出:

$result = & .\myscript.ps1
Write-Output $result

这里 $result 会包含脚本的所有输出内容(对象、字符串等)。


2. 获取退出码(Exit Code)

如果你想获取脚本的退出码,可以在脚本中使用 exit 设置返回值,在调用时读取 $LASTEXITCODE

myscript.ps1

# 你的逻辑
if ($true) { exit 5 }

调用方式

& .\myscript.ps1
$code = $LASTEXITCODE
Write-Output $code   # 输出 5

3. 获取函数返回值

如果你脚本里定义了函数,直接调用即可:

myscript.ps1

function Get-Sum {
    param($a, $b)
    return $a + $b
}
Get-Sum 3 5

调用方式

$result = & .\myscript.ps1
Write-Output $result  # 输出 8

4. 捕获脚本的输出为字符串

如果你的脚本只输出文本,可以这样捕获为字符串:

$output = & .\myscript.ps1 | Out-String
Write-Output $output

5. 调用外部脚本并获取返回值(如调用 BAT 或 EXE)

$result = & "C:\Path\YourScript.bat"
$exitCode = $LASTEXITCODE

总结

  • & .\script.ps1 执行脚本并获取输出
  • $LASTEXITCODE 获取脚本的退出码
  • 输出/返回值可以是对象、字符串等
浙ICP备19039918号-1