找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 50067|回复: 22

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

[复制链接]
发表于 2015-4-17 09:35:54 | 显示全部楼层 |阅读模式
vbs调用多个bat,vbs和bat在同一个目录,如a.bat,b.bat,c.bat...
依次执行bat批处理,a.bat执行完后,b.bat执行。。。。。。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-4-17 13:05:42 | 显示全部楼层
本帖最后由 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技术 +1 收起 理由
wangdao6699 + 1 代码收藏了

查看全部评分

 楼主| 发表于 2015-4-17 17:37:49 | 显示全部楼层
回复 2# pcl_test


    几个bat一起运行的
发表于 2015-4-17 17:41:29 | 显示全部楼层
本帖最后由 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
请解释下“依次”和“一起”的区别
 楼主| 发表于 2015-4-17 17:55:25 | 显示全部楼层
回复 4# pcl_test


    一起就是,abc三个一块运行
   依次就是,a运行完后,b运行,最后c运行
如您的VBS代码是abc三个窗口一起出现,一起运行,这样会导致b,c得不到a的结果,两个窗口一闪消失,而a还在运行
要得是 a窗口运行完成后,轮到b窗口出现运行。。。
 楼主| 发表于 2015-4-17 17:59:13 | 显示全部楼层
回复 4# pcl_test


    去掉wscript.sleep 500后,几个窗口一闪而过
 楼主| 发表于 2015-4-17 18:02:08 | 显示全部楼层
本帖最后由 wangdao6699 于 2015-4-17 18:03 编辑

回复 4# pcl_test


    b是以a的结果作为参数,c又是以b的结果作为参数运行
如果a不运行,b就无法运行,c也就不能运行
即后一个是以前一个结果作为条件运行的
发表于 2015-4-17 18:20:47 | 显示全部楼层
本帖最后由 pcl_test 于 2015-4-17 18:23 编辑

晕,总算把问题说明白了,什么“一起”“依次”,只会让人误解,那么,是否要等a完全运行完直到关闭再打开b?
 楼主| 发表于 2015-4-17 18:27:26 | 显示全部楼层
回复 8# pcl_test


    是的
发表于 2015-4-17 19:55:12 | 显示全部楼层
  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技术 +1 收起 理由
wangdao6699 + 1 感谢分享

查看全部评分

发表于 2015-4-17 21:46:37 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2015-4-18 07:47:05 | 显示全部楼层
回复 11# pcl_test


    显示 '!n!.bat!' 不是内部或外部命令,也不是可运行的程序或批处理文件
 楼主| 发表于 2015-4-18 07:47:48 | 显示全部楼层
回复 10# czjt1234


    感谢您的代码,运行成功
发表于 2015-4-18 07:54:16 | 显示全部楼层
回复 12# wangdao6699


    把bat后面的感叹号去掉
 楼主| 发表于 2015-4-18 07:56:37 | 显示全部楼层
回复 11# pcl_test


    bat调用bat批处理,前几天试了几次,都没成功,如bat调用那就更好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:14 , Processed in 0.022476 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表