为了账号安全,请及时绑定邮箱和手机立即绑定

如何将特定输出值从 exe (c#) 发送到 Power Shell 脚本

如何将特定输出值从 exe (c#) 发送到 Power Shell 脚本

C#
万千封印 2021-08-22 15:26:11
现在我正在创建一个 vsts 构建任务,我的方法是:运行powershell脚本在 powershell 中,我将运行 exe 或 dll然后使用输出来提取值。我的问题是:我做了很多打印,我会在最后打印我的值并添加一些分隔符以便能够提取它但我觉得这是一个糟糕的设计我不是 powershell 脚本方面的专家,但是如果有人有更好的设计,请告诉我不确定脚本代码是否有帮助,但在这里$psi = New-object System.Diagnostics.ProcessStartInfo $psi.CreateNoWindow = $true $psi.UseShellExecute = $false $psi.RedirectStandardOutput = $true $psi.RedirectStandardError = $true $psi.FileName = "app.exe"$process = New-Object System.Diagnostics.Process $process.StartInfo = $psi [void]$process.Start()$output = $process.StandardOutput.ReadToEnd() $process.WaitForExit() then process the output
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

PowerShell 内置了将可执行文件作为命令运行的功能。要运行app.exe并捕获它的输出,您所要做的就是

$output = app.exe

PowerShell 负责所有底层进程管理。


查看完整回答
反对 回复 2021-08-22
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

如果你想要更复杂的东西,你可以直接与程序集互操作,而不是使用 EXE


[System.Reflection.Assembly]::LoadFile("E:\MyClass.dll")

$MyCompObj = New-Object MyClass.Student


查看完整回答
反对 回复 2021-08-22
  • 2 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信