Board logo

标题: [问题求助] [已解决]vbs调用多个bat [打印本页]

作者: wangdao6699    时间: 2015-4-17 09:35     标题: [已解决]vbs调用多个bat

vbs调用多个bat,vbs和bat在同一个目录,如a.bat,b.bat,c.bat...
依次执行bat批处理,a.bat执行完后,b.bat执行。。。。。。
作者: pcl_test    时间: 2015-4-17 13:05

本帖最后由 pcl_test 于 2015-4-17 18:46 编辑
  1. arr = array("a","b","c")
  2. For i=0 To UBound(arr)-LBound(arr)
  3.     bat=arr(i)+".bat"
  4.     wscript.createobject("wscript.shell").run "cmd /c """+bat+""""
  5.     wscript.sleep 500
  6. Next
复制代码

作者: wangdao6699    时间: 2015-4-17 17:37

回复 2# pcl_test


    几个bat一起运行的
作者: pcl_test    时间: 2015-4-17 17:41

本帖最后由 pcl_test 于 2015-4-17 17:53 编辑
回复  pcl_test
[quote]vbs调用多个bat,vbs和bat在同一个目录,如a.bat,b.bat,c.bat...
依次执行bat批处理,a.bat执行完后,b.ba ...
wangdao6699 发表于 2015-4-17 09:35

回复  pcl_test
    几个bat一起运行的
wangdao6699 发表于 2015-4-17 17:37


去掉wscript.sleep 500
请解释下“依次”和“一起”的区别
作者: wangdao6699    时间: 2015-4-17 17:55

回复 4# pcl_test


    一起就是,abc三个一块运行
   依次就是,a运行完后,b运行,最后c运行
如您的VBS代码是abc三个窗口一起出现,一起运行,这样会导致b,c得不到a的结果,两个窗口一闪消失,而a还在运行
要得是 a窗口运行完成后,轮到b窗口出现运行。。。
作者: wangdao6699    时间: 2015-4-17 17:59

回复 4# pcl_test


    去掉wscript.sleep 500后,几个窗口一闪而过
作者: wangdao6699    时间: 2015-4-17 18:02

本帖最后由 wangdao6699 于 2015-4-17 18:03 编辑

回复 4# pcl_test


    b是以a的结果作为参数,c又是以b的结果作为参数运行
如果a不运行,b就无法运行,c也就不能运行
即后一个是以前一个结果作为条件运行的
作者: pcl_test    时间: 2015-4-17 18:20

本帖最后由 pcl_test 于 2015-4-17 18:23 编辑

晕,总算把问题说明白了,什么“一起”“依次”,只会让人误解,那么,是否要等a完全运行完直到关闭再打开b?
作者: wangdao6699    时间: 2015-4-17 18:27

回复 8# pcl_test


    是的
作者: czjt1234    时间: 2015-4-17 19:55

  1. arr = array("a","b","c")
  2. For i=0 To UBound(arr)
  3.     bat=arr(i)+".bat"
  4.     createobject("wscript.shell").run "cmd /c """+bat+"""",,True
  5. Next
复制代码

作者: pcl_test    时间: 2015-4-17 21:46

本帖最后由 pcl_test 于 2015-4-18 08:07 编辑

czjt1234已更正,那么我来个bat的
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%a in ("a","b","c") do (
  3. set "n=%%a" & set "n=!n:"=!"
  4. cmd /c "!n!.bat"
  5. ping 0 -n 2 >nul
  6. )
  7. pause
复制代码

作者: wangdao6699    时间: 2015-4-18 07:47

回复 11# pcl_test


    显示 '!n!.bat!' 不是内部或外部命令,也不是可运行的程序或批处理文件
作者: wangdao6699    时间: 2015-4-18 07:47

回复 10# czjt1234


    感谢您的代码,运行成功
作者: pcl_test    时间: 2015-4-18 07:54

回复 12# wangdao6699


    把bat后面的感叹号去掉
作者: wangdao6699    时间: 2015-4-18 07:56

回复 11# pcl_test


    bat调用bat批处理,前几天试了几次,都没成功,如bat调用那就更好了
作者: pcl_test    时间: 2015-4-18 07:57

回复 15# wangdao6699


    这个可以有哟
作者: wangdao6699    时间: 2015-4-18 07:59

回复 14# pcl_test


    bat后面的感叹号去掉,还是没用,依然显示不是内部或外部命令,也不。。。。。。
作者: pcl_test    时间: 2015-4-18 08:03

回复 17# wangdao6699
我测试没有问题,是否a、b、c的文件名没填好
作者: wangdao6699    时间: 2015-4-18 08:04

回复 16# pcl_test


   窗口只有“不是内部或外部命令,也不是可运行的程序或批处理文件”   出现3次后,代码结束运行,无其他内容
作者: wangdao6699    时间: 2015-4-18 08:09

回复 18# pcl_test


    看了一下,文件名没问题,也新建一个批处理文件,可依然没用,但是运行vbs成功,没有任何问题
作者: wangdao6699    时间: 2015-4-18 08:14

回复 14# pcl_test


    代码运行成功,感谢您了
作者: pcl_test    时间: 2015-4-18 08:16

回复 19# wangdao6699
妥妥的
作者: wangdao6699    时间: 2015-4-18 09:18

回复 22# pcl_test

测试后没问题,谢谢您




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2