找回密码
 加入
搜索
查看: 2722|回复: 6

au3一行能否执行多条命令

[复制链接]
发表于 2009-6-2 08:47:29 | 显示全部楼层 |阅读模式
cmd可以用&连接一行执行多条命令,vbs可以用execute一行执行多条命令,au3如何实现?
发表于 2009-6-2 08:51:47 | 显示全部楼层
这个贴子怎么跑到已解决问题区了?
 楼主| 发表于 2009-6-2 12:46:49 | 显示全部楼层
就是啊怎么跑到这里了?麻烦管理员放到未解决区,谢谢!
发表于 2009-6-21 09:18:50 | 显示全部楼层
一行不符合语法
不过另辟途径的话:
需要执行的命令对象装入数组+for to next 循环
Local $Files[4] = ['1.exe', '2.exe', '3.exe', '4.exe']
For $exe In $Files
execute(@ScriptDir &""&$exe)
Next
 楼主| 发表于 2009-6-22 15:52:58 | 显示全部楼层
4# lynfr8

谢谢lynfr8!
这样就多行了,我主要目的是放在命令行里执行。
http://www.autoitx.com/forum.php?mod=viewthread&tid=7729中的两条cmd命令,放在运行里就可以执行了。
发表于 2009-6-22 19:33:43 | 显示全部楼层
你自己研究出来了吧
能否举个简单例子大家学习下?
 楼主| 发表于 2009-6-24 08:37:09 | 显示全部楼层
cmd、vbs和au3,各有特色,互相不能替代的,我认为au3最有特色的是Wait函数,在cmd、vbs中如果能把au3的Wait函数用上就基本达到了目的。

我现在是通过if函数来实现两条命令的连接的:

cmd /c start D:\autoit3\AutoIt3.exe /AutoIt3ExecuteLine "If WinWaitActive('[REGEXPCLASS:Notepad]') = 1 Then Send('123')"&start notepad

上例是cmd调用au3,先是运用au3等待记事本被激活,cmd打开记事本,au3就发送123到记事本。

这也是单行的,为了在“开车>运行”中方便调试运行。在bat中cmd命令当然是多行的方便,要的只是:
If WinWaitActive('[REGEXPCLASS:Notepad]') = 1 Then Send('123')
也就是au3的WinWaitActive和Send一行执行,引用了au3的精髓Wait。

If WinWaitActive('[REGEXPCLASS:Notepad]') = 1 Then Send('123')
就是:
WinWaitActive("[REGEXPCLASS:Notepad]")
Send("123")
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 12:37 , Processed in 0.083344 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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