程序交替运行代码问题,请兄弟们帮忙。
本帖最后由 xzrmail 于 2010-7-26 20:05 编辑Dim $string
$string=IniRead ("sys.ini", "sys", "connect","0" )
Select
Case $string=1
run ("d:\001.exe")
IniWrite( "sys.ini", "sys", "connect", "1" )
Case $string=2
run ("d:\002.exe")
IniWrite( "sys.ini", "sys", "connect", "2" )
Case $string=3
run ("d:\003.exe")
IniWrite( "sys.ini", "sys", "connect", "3" )
Case $string=4
run ("d:\004.exe")
IniWrite( "sys.ini", "sys", "connect", "4" )
Case $string=5
run ("d:\005.exe")
IniWrite( "sys.ini", "sys", "connect", "5" )
Case $string=6
run ("d:\006.exe")
IniWrite( "sys.ini", "sys", "connect", "6" )
Case $string=7
run ("d:\007.exe")
IniWrite( "sys.ini", "sys", "connect", "7" )
EndSelectsys.ini
connect=1以上代码我想实现定时运行001.exe后,下次运行时自动运行002.exe---003---004............007.exe,运行完007.exe再自动转回来运行001.exe。。就这样循环。
可是我写的这代码不能实现。请高手指点一下是哪里错了?谢谢! 楼主是这个意思吗?_run();未作测试,可能死循环。
Func _Run()
Dim $string = IniRead("sys.ini", "sys", "connect", "0")
If $string > 0 And $string<7 Then
RunWait("d:\" &$string & ".exe")
IniWrite("sys.ini", "sys", "connect", $string+1)
_run()
ElseIf $string=0 Then
IniWrite("sys.ini", "sys", "connect", $string)
Return
ElseIf $string=7 Then
RunWait("d:\" &$string & ".exe")
MsgBox(0,0,IniRead("sys.ini", "sys", "connect", "0"))
$msg=MsgBox(4,"警告","已经完成一轮,还要继续吗?")
If $msg=6 Then
IniWrite("sys.ini", "sys", "connect", "1")
_run()
Else
Return
EndIf
EndIf
EndFunc ;==>_Run 楼主是这个意思吗?
3mile 发表于 2010-7-26 19:29 http://www.autoitx.com/images/common/back.gif
还不行呢,不过谢谢你的帮忙。 每次都手动运行?
第一次执行1.exe
第二次执行2.exe
......
执行7.exe进归0(或归1)?如此反复?_run()
Func _Run()
Dim $string = IniRead("sys.ini", "sys", "connect", "0")
If $string > 0 And $string<7 Then
RunWait("d:\" &$string & ".exe")
IniWrite("sys.ini", "sys", "connect", $string+1)
Return
ElseIf $string=0 Then
IniWrite("sys.ini", "sys", "connect", $string)
Return
ElseIf $string>=7 Then
RunWait("d:\" &$string & ".exe")
IniWrite("sys.ini", "sys", "connect", "1")
Return
EndIf
EndFunc ;==>_Run sorry,运行的是001.exe,002.exe吧。
把所有的RunWait("d:\" &$string & ".exe")改为RunWait("d:\00" &$string & ".exe")试试 本帖最后由 xzrmail 于 2010-7-27 01:10 编辑
If FileExists("e:\home\001.ini") Then
FileCopy("e:\home\001.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\001.ini", "e:\home\002.ini")
Else
If FileExists("e:\home\002.ini") Then
FileCopy("e:\home\002.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\002.ini", "e:\home\003.ini")
Else
If FileExists("e:\home\003.ini") Then
FileCopy("e:\home\003.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\003.ini", "e:\home\004.ini")
Else
If FileExists("e:\home\004.ini") Then
FileCopy("e:\home\004.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\004.ini", "e:\home\005.ini")
Else
If FileExists("e:\home\005.ini") Then
FileCopy("e:\home\005.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\005.ini", "e:\home\006.ini")
Else
If FileExists("e:\home\006.ini") Then
FileCopy("e:\home\006.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\006.ini", "e:\home\007.ini")
Else
If FileExists("e:\home\007.ini") Then
FileCopy("e:\home\007.rar", "e:\WebServer\html\add\ad\home.rar", 1)
FileMove("e:\home\007.ini", "e:\home\001.ini")
Else
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
还是不行,我刚刚用上面这种选择语句的笨方法写了一个,还真能用。ini文件我是用作检测文件是否存在用的,你看这样好吗?希望把我这个改简单些,谢谢! 本帖最后由 3mile 于 2010-7-26 21:06 编辑
回复 6# xzrmail
用这个代替:For $i = 1 To 7
If FileExists("e:\home\00" & $i & ".ini") Then
FileCopy("e:\home\00" & $i & ".rar", "e:\WebServer\html\add\ad\home.rar", 1)
If $i < 7 Then
FileMove("e:\home\00" & $i & ".ini", "e:\home\00" & $i + 1 & ".ini")
Else
FileMove("e:\home\00" & $i & ".ini", "e:\home\001.ini")
EndIf
ExitLoop
EndIf
Next 回复 7# 3mile
哇!你真牛!问题你帮解决了。
非常谢谢你! 呵呵,学习一下。。
页:
[1]