zhenxin 发表于 2010-1-21 12:14:01

使用_RUNDOS后,如何获取运行的返回码?

使用_RUNDOS后,如何获取运行的Errorlevel?
比如PING..

supersp 发表于 2010-1-21 14:09:26

本帖最后由 supersp 于 2010-1-21 14:16 编辑

AU3获取环境变量函数好像无法获取非系统变量..
你试试在cmd后面加入 && echo %errorlevel%
或者如果你只取运行不成功的,则 || echo error=%errorlevel% ,如果没有echo 则表示运行的命令成功了..
然后读取STD

gapkiller 发表于 2010-1-21 16:04:22

:face (13):
干嘛要这样搞...
楼主想开点,人生没有什么过不去的坎儿!

zhenxin 发表于 2010-1-21 16:51:38

其实我是用这个来做PING测试,AU3本身自带的PING函数,发现并不准确。有时网络明明是断开的。能PING过。我就想使用WINDOWS的PING工具进行测试,使用_RUNDOS来调用WINDOWS PING。但是却无法判断PING的返回码。楼上的说使用STD。但是这个函数好像只针对RUN。对_RUNDOS无效。是否有其它更好的方法?

supersp 发表于 2010-1-21 17:42:09

本帖最后由 supersp 于 2010-1-21 18:46 编辑

试试这段,意思是如果ping失败,则返回100
但是就算不用exit 100设置返回值,rundos的返回值为0则表示成功,为1表示失败..@error可能还有其他提示..
也可以试试 ping 127.1 || exit %errorlevel%
#include <Process.au3>
$a=_RunDOS ("ping 10.10.10.23||exit 100")
MsgBox(0,"",$a)

Ailytao6 发表于 2010-1-22 11:17:43

#include <Process.au3>
$a=_RunDOS ("ping 10.10.10.23||exit 100")
MsgBox(0,"",$a)

这个代码试了 能返回100.不错!
Return Value

Success: Returns the exit code of the command
Failure: Returns 0 and sets @error to non-zero.

Ailytao6 发表于 2010-1-22 11:19:14

试试这段,意思是如果ping失败,则返回100
但是就算不用exit 100设置返回值,rundos的返回值为0则表示成功,为 ...
supersp 发表于 2010-1-21 17:42 http://www.autoitx.com/images/common/back.gif


    这个代码 怎么发出来的呀?我复制的 怎么没有1. 2. 3. 呢?

gapkiller 发表于 2010-1-22 15:51:59

试试这段,意思是如果ping失败,则返回100
但是就算不用exit 100设置返回值,rundos的返回值为0则表示成功,为 ...
supersp 发表于 2010-1-21 17:42 http://www.autoitx.com/images/common/back.gif

厉害..."||"的用法不是很了解..

My2009 发表于 2010-1-28 15:14:50

试试这段,意思是如果ping失败,则返回100
但是就算不用exit 100设置返回值,rundos的返回值为0则表示成功,为 ...
supersp 发表于 2010-1-21 17:42
厉害..."||"的用法不是很了解..
页: [1]
查看完整版本: 使用_RUNDOS后,如何获取运行的返回码?