powershell - 如何在 PowerShell 中获取应用程序的返回值?
问题描述
我正在通过 powershell 将参数传递给我的测试应用程序。我希望在完成后获得应用程序的返回值。
如何获取应用程序的返回值而不是控制台输出。
我正在通过运行运行应用程序
Test.ps1 2
测试.ps1
param ([string]$param1)
$path = "C:\Workspaces\myapplication\"
$executable = "Test.exe"
$filepath = "$($path)$($executable) $($param1)"
Try
{
$Result = iex $filepath
#this writes out the console output of Test.exe instead of the return value.
Write-Host $Result
Write-Host $LASTEXITCODE
}
Catch
{
Write-Host "Exit Code"
Write-Host $LASTEXITCODE
}
解决方案
你应该使用Start-Process
:
$p = Start-Process $($path)$($executable) -ArgumentList $input
$p.HasExited
$p.ExitCode
推荐阅读
- vue.js - 在 nuxt.js 中,某些 css 不会在生产模式下加载
- go - 从 Go 中的函数返回结构
- angular - 在 Angular 中使用列数据填充数据表中的行
- android - 如果 Android 设备处于暗模式,我如何以编程方式检测?
- scala - 使用 Scala 模式匹配实现 BST
- c# - 如何为注册页面实现工作流核心
- python - 嵌套的 try/except 是否有可能导致堆栈溢出?
- sql - 过去几周的时间序列收入计算
- android - Android项目未构建
- xamarin.android - TelephonyManager.ExtraIncomingNumber 在 android pie 中总是返回 null