首页 > 解决方案 > 如何在 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    
}

标签: powershell

解决方案


你应该使用Start-Process

$p = Start-Process $($path)$($executable) -ArgumentList $input
$p.HasExited
$p.ExitCode

推荐阅读