[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]vbs调用多个bat

vbs调用多个bat,vbs和bat在同一个目录,如a.bat,b.bat,c.bat...
依次执行bat批处理,a.bat执行完后,b.bat执行。。。。。。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码
1

评分人数

TOP

回复 2# pcl_test


    几个bat一起运行的

TOP

本帖最后由 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
请解释下“依次”和“一起”的区别

TOP

回复 4# pcl_test


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

TOP

回复 4# pcl_test


    去掉wscript.sleep 500后,几个窗口一闪而过

TOP

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

回复 4# pcl_test


    b是以a的结果作为参数,c又是以b的结果作为参数运行
如果a不运行,b就无法运行,c也就不能运行
即后一个是以前一个结果作为条件运行的

TOP

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

晕,总算把问题说明白了,什么“一起”“依次”,只会让人误解,那么,是否要等a完全运行完直到关闭再打开b?

TOP

回复 8# pcl_test


    是的

TOP

  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
复制代码
1

评分人数


QQ 20147578

TOP

本帖最后由 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
复制代码

TOP

回复 11# pcl_test


    显示 '!n!.bat!' 不是内部或外部命令,也不是可运行的程序或批处理文件

TOP

回复 10# czjt1234


    感谢您的代码,运行成功

TOP

回复 12# wangdao6699


    把bat后面的感叹号去掉

TOP

回复 11# pcl_test


    bat调用bat批处理,前几天试了几次,都没成功,如bat调用那就更好了

TOP

返回列表