Run(@ComSpec)如何保留窗口且能够获取返回值
我要在comspec里面执行的参数是访问内网服务器串口,此处用ipconfig代替,由于我要继续对cmd窗口进行操作,所以窗口是不能关闭的。而且要获取返回值,我想通过STDOUT实现。现在下面这个参数每次执行完会把cmd窗口关闭掉,如果不加$STDOUT_CHILD能够保留cmd窗口,但是没有办法获得回显了,请指教#include <Constants.au3>
$r = Run(@ComSpec& " /k " & 'ipconfig', "", @SW_SHOW, $STDOUT_CHILD)
Local $s
While 1
$s &=StdoutRead($r)
If @error Then
ExitLoop
EndIf
Sleep(50)
WEnd
MsgBox(0,0, $s)
可以换个方式输出回显:#include <Constants.au3>
Local $TmpFile = @TempDir & '\ip.txt'
Run(@ComSpec& " /k " & 'ipconfig > ' & $TmpFile, "", @SW_SHOW)
Sleep(300)
MsgBox(0,0, FileRead($TmpFile))
FileDelete($TmpFile)
页:
[1]