如何运行多句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 编辑 ] 看不懂你的这个变量是干嘛的
我运行多句dos命令的时候,用_rundos语句
_rundos xxxxxx1
_rundos xxxxxxx2 开telnet...
%errorlevel%与上一条命令相关,这样当然不行。
两个办法:一是做批处理运行,二是用 & 连接多个命令。
scquerytelnet| find "FAILED" > nul & if %errorlevel% EQU 0 (exit) else net start telnet 明解,我用了批处理来判断,但感觉au3好 sensel回复在理
在测试时可用RunWait(@ComSpec & ' /K这样出来的CMD不会自动关闭。。
如SENSEL所说,可把欲运行的多命令写到临时文件(.bat .cmd)运行之 或 用&连接符 运行。。。
页:
[1]