dnvplj 发表于 2014-6-22 12:13:27

【已解决】代码跳着运行

本帖最后由 dnvplj 于 2014-6-27 09:46 编辑

请各位朋友帮看一下,下面共5步,代码从第3步直接跳到了第5步,请问:如何让代们按1-5的顺序运行,别外,任务栏上不显示图标,谢谢;运行第一个
RunWait(@ScriptDir & "\SB.EXE")

;运行第二个
ShellExecute(@SystemDir & '\devmgmt.msc')
Sleep(10000)   ;延时10秒
$PID = ProcessExists('mmc.exe')
If $PID Then ProcessClose($PID)

;;运行第三个
Dim $Dr
$Drive = DriveGetDrive("FIXED")
For $i = 1 To $Drive
      $Dr = StringUpper($Drive[$i])
If $Dr <> "C:" Then
If FileExists($Dr&"\123") Then DirRemove($Dr&"\123",1)
If FileExists($Dr&"\456") Then DirRemove($Dr&"\456",1)
EndIf
Next

;运行第四个
$var = DriveGetDrive("FIXED")
      If Not @error Then
                For $i = 1 To $var
                        RunWait($var[$i]&"\soft\setup.exe")
                Next
EndIf

;运行第五个
RunWait(@ScriptDir & "\WinRAR_5.01_x64_SC.exe /S")
Exit

skyfree 发表于 2014-6-22 19:25:39

如果你没设置选择结构或转向,代码不可能跳着执行。你对执行的理解有误,或者已经执行的却没产生功能而让你认为“跳过”!

dnvplj 发表于 2014-6-22 19:25:54

请各位朋友,帮助把上边的这些代码整合到一起为盼。

dnvplj 发表于 2014-6-22 20:01:24

回复 2# skyfree

感谢S大回复,路径错了,误认为跳了。能把这几个代码整合在一起吗?

baduxiyang 发表于 2014-6-23 05:45:42

Enable掉应该就可以了。

haopp1 发表于 2014-6-23 09:40:10

你可以用Func 1()
       
       
       
EndFunc实现的

dnvplj 发表于 2014-6-23 11:56:53

回复 6# haopp1
haopp1朋友您好,感谢你的回复,本人是个菜鸟,能帮写出来吗,万分感谢。

haopp1 发表于 2014-6-23 13:46:50

回复 7# dnvplj


    你是要一个一个运行么?Q我1183927028

mxcjmn 发表于 2014-6-23 16:36:31

建议你把要实现的功能模块化,写成一个个的UDF,然后在主函数里根据情况判断后再选择要执行的UDF,这样代码的执行效率以及可读性会好很多

f4李文杨 发表于 2014-6-23 16:44:22

{:face (409):}你这个代码正常的情况下应是会按顺序执行!!不会跳呢!
再说一下!AU 就是一行一行的代码执行!!

lxwlxwayy 发表于 2014-6-23 17:26:35

帮顶{:face (427):}
页: [1]
查看完整版本: 【已解决】代码跳着运行