|
需求:输出执行结果(备份当前磁盘的分区表到文件)
好处:其他程序可以读取控制台程序输出的数据来进行交互
分享一个分区助手的解决方案:由于本命令的执行不能使用“>”这个符号来将执行结果输出到文件,所以特别添加将执行结果输出到文件的参数/out,支持所有命令的执行结果输出到文件
autoit 读取控制台程序输出的数据的示例代码:
- #include <AutoItConstants.au3>
- #include <MsgBoxConstants.au3>
- Example()
- Func Example()
- Local $iPID = Run(@ComSpec & " /c DIR Example.au3", @SystemDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD))
- Local $sOutput = ""
- While 1
- $sOutput &= StdoutRead($iPID)
- If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
- ExitLoop
- EndIf
- MsgBox($MB_SYSTEMMODAL, "Stdout Read:", $sOutput)
- WEnd
- $sOutput = ''
- While 1
- $sOutput &= StderrRead($iPID)
- If @error Then ; Exit the loop if the process closes or StderrRead returns an error.
- ExitLoop
- EndIf
- MsgBox($MB_SYSTEMMODAL, "Stderr Read:", $sOutput)
- WEnd
- EndFunc ;==>Example
复制代码 |
|