jakykuang 发表于 2009-4-18 00:46:41

如何运行多句dos命令

本帖最后由 jakykuang 于 2009-4-22 00:50 编辑

想用au3运行多句dos命令,如何实现,
例如:dos命令如下
sc   querytelnet| find "FAILED" > nul   
if   %errorlevel%   EQU   0   (exit)   else   net   start   telnet
请问如何实现,这样运行可以吗,
RunWait(@ComSpec & ' /c scquerytelnet| find "FAILED" > nul ', @SystemDir, @SW_HIDE)
      RunWait(@ComSpec & ' /cif   %errorlevel%   EQU   0   (exit)   else   net   start   telnet', @SystemDir, @SW_HIDE)

运行出来好像有点问题,但一闪而过了,看不清
因为两个语句是有关联的,所以不知道在au3里应该怎样写

[ 本帖最后由 jakykuang 于 2009-4-18 01:01 编辑 ]

hynq2000 发表于 2009-4-18 01:01:34

看不懂你的这个变量是干嘛的
我运行多句dos命令的时候,用_rundos语句
_rundos xxxxxx1
_rundos xxxxxxx2

sensel 发表于 2009-4-18 04:50:49

开telnet...
%errorlevel%与上一条命令相关,这样当然不行。
两个办法:一是做批处理运行,二是用 & 连接多个命令。
scquerytelnet| find "FAILED" > nul & if   %errorlevel%   EQU   0   (exit)   else   net   start   telnet

jakykuang 发表于 2009-4-22 00:34:47

明解,我用了批处理来判断,但感觉au3好

llztt 发表于 2009-4-22 22:35:19

sensel回复在理
在测试时可用RunWait(@ComSpec & ' /K这样出来的CMD不会自动关闭。。

如SENSEL所说,可把欲运行的多命令写到临时文件(.bat .cmd)运行之   或   用&连接符 运行。。。
页: [1]
查看完整版本: 如何运行多句dos命令