VBA调用批处理 执行完当前命令再循环

vba里面调用了cmd,代码如下
for y = 1 to 100
Shell "cmd /c ""xcopy /s/y " & FilPath & " C:\Users\Administrator\Desktop\粘贴处\"
delay (3) '延迟3秒再循环,delay具体内容我就不展示了
next ‘循环
现在的问题是,
没有delay(3)就会立即循环,这样的话时间来不及,结果只有y=1时的结果;
加上delay(3),相当于设置了延迟3秒,这样循环100次,需要300秒,如果y很大就很慢,
那么,能不能实现自动判断执行完当前命令,就立即进入下一个循环呢。谢谢

这个还真是不好弄,最起码我是没有办法,但有一个方法可以用DoEvents交出控制权,不影响其他操作。请试验一下吧追问

我看到批处理有&&可以顺序执行
能不能利用这个符号,&&后边加上一个跳转,这样只有执行完xcopy才会跳转到next

追答

关键的难点是怎么判断xcopy有没有执行完毕

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答