我用powershell ISE开发了一个GUI,现在我可以启动一个调用python脚本并执行内容的进程。我能够将输入发送到活动进程,因此我可以与python进行交互,但是现在我想在脚本运行时简单地“实时”读取cmd-python解释器的输出并显示在Powershell文本框,redirectstandardoutput不起作用。或者,如果该redirectstandardouput.readline()不起作用,是否可以将此cmd嵌入到我的GUI的一种形式中?谢谢大家的支持和考虑
我尝试过:
enter code here
$script:process = New-Object System.Diagnostics.Process
$process.EnableRaisingEvents = $true
$process.StartInfo.FileName = 'cmd'
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.StartInfo.CreateNoWindow = $false
$process.StartInfo.Arguments = "/c $ans"
$process.Start()
$timer1.Start()
具有:
enter code here
$timer1_Tick={
if($l = $process.StandardOutput.ReadLine() ){
$textbox1.Lines += $l
$textbox1.Select($textbox1.Text.Length,0)
$textbox1.ScrollToCaret()
}
}
其中$ ans是包含cmd命令的批处理文件,例如: 标题无人机群管理器 cd“ C:... \ scripts \ droneswarmmng” python droneSwarmMng.py --args 但没有,此方法不起作用,冻结了GUI。
我希望当我单击启动文本框中的python脚本的按钮时,我可以读取cmd控制台上python解释器显示的内容