[已解决]第一次使用do...until循环竟然失败!
本帖最后由 smooth 于 2014-3-25 11:40 编辑第一次使用do...until循环竟然失败!
用命令删除Oracle数据库表空间后,数据库需要刷新,所以对应的文件不可以马上删除,可能要等个几十秒钟。于是我想了个方法,就是用do...until循环来做。
Do
FileDelete("C:\NC\1.dbf")
FileDelete("C:\NC\2.dbf")
Until FileExists("C:\NC\1.dbf") = 0 And FileExists("C:\NC\2.dbf") = 0
我的原意是,执行删除文件的命令,只要能检测到它们都还在,那就不断的删,不断的删,一直不停。可是实际使用下来,发现代码根本就不这样,删不掉文也直接往下面执行。 我在想是不是因为你在执行这段代码的时候 这两个文件还没有出来 所以已经达到了untile的条件如果文件名固定的话 这样试试?Local $i
Do
$i += FileDelete("a.txt") + FileDelete("b.txt")
Until $i = 2 我在想是不是因为你在执行这段代码的时候 这两个文件还没有出来 所以已经达到了untile的条件如果文件名 ...
zch11230 发表于 2014-2-12 00:34 http://www.autoitx.com/images/common/back.gif
有道理,谢谢提醒! 还是oracle 自身删除的比较好吧 你的代码所表达的意思是“不停的检测是否存在,当检测到存在时则将二者删除,确定二者已删除后则退出”,与你的本意完全不同。 回复 5# skyfree
你所说的就是他的本意,你再看看,这两个文件原本是存在的,只是一条删除指令并不能立马生效,所以不断检测存在不断删直到确实删除后再往后走。 回复 5# skyfree
其实是一样的效果,只是表述方法不一样罢了。 回复 2# zch11230
看了你的代码,忽然觉得自己写的程序太烂了...
页:
[1]