vuivui 发表于 2009-6-2 08:47:29

au3一行能否执行多条命令

cmd可以用&连接一行执行多条命令,vbs可以用execute一行执行多条命令,au3如何实现?

lixiang 发表于 2009-6-2 08:51:47

这个贴子怎么跑到已解决问题区了?

vuivui 发表于 2009-6-2 12:46:49

就是啊怎么跑到这里了?麻烦管理员放到未解决区,谢谢!

lynfr8 发表于 2009-6-21 09:18:50

一行不符合语法
不过另辟途径的话:
需要执行的命令对象装入数组+for to next 循环Local $Files = ['1.exe', '2.exe', '3.exe', '4.exe']
For $exe In $Files
execute(@ScriptDir &"\"&$exe)
Next

vuivui 发表于 2009-6-22 15:52:58

4# lynfr8

谢谢lynfr8!
这样就多行了,我主要目的是放在命令行里执行。
如http://www.autoitx.com/forum.php?mod=viewthread&tid=7729中的两条cmd命令,放在运行里就可以执行了。

lynfr8 发表于 2009-6-22 19:33:43

你自己研究出来了吧
能否举个简单例子大家学习下?

vuivui 发表于 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('') = 1 Then Send('123')"&start notepad

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

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

If WinWaitActive('') = 1 Then Send('123')
就是:
WinWaitActive("")
Send("123")
页: [1]
查看完整版本: au3一行能否执行多条命令