找回密码
 加入
搜索
楼主: itzyx

[AU3基础] 【已解决】关于CMD 回显输出的问题

  [复制链接]
发表于 2021-2-11 13:35:25 | 显示全部楼层
itzyx 发表于 2021-2-6 16:50
好的,我再看看帮助文件,找找办法,谢谢A大

以下是经过反复测试、编写后最完善的代码,可应对各种情况:
Func RunCmd($sCommand, $bBin = False, $bWait = False) ;1:命令行 2:是否以二进制方式读取(防止中文乱码) 3:是否等待进程执行完毕(防止部分exe数据流获取不全,如Diskpart)
        If $bBin = True Then
                Local $sOutput = Binary('')
        Else
                Local $sOutput = ''
        EndIf
        Local $iPID = __Run($sCommand, '', @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
        
        If $bWait Then
                ProcessWaitClose($iPID)
                $sOutput = StdoutRead($iPID, False, $bBin)
        Else
                While 1
                        $sOutput &= StdoutRead($iPID, False, $bBin)
                        If @error Then ExitLoop
                WEnd
        EndIf
        If $bBin Then $sOutput = BinaryToString($sOutput, 4)
        Return $sOutput
EndFunc   ;==>RunCmd

评分

参与人数 1金钱 +30 收起 理由
itzyx + 30 很给力!

查看全部评分

 楼主| 发表于 2021-2-19 09:01:25 | 显示全部楼层
itsky2 发表于 2021-2-11 13:35
以下是经过反复测试、编写后最完善的代码,可应对各种情况:

感谢大佬    家里没电脑,没来得及回复
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 12:23 , Processed in 0.068884 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表