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

[技术讨论] vbs如何判断是否能执行网络共享文件夹里的程序并根据不同的系统版本执行不同操作

[复制链接]
发表于 2016-11-11 23:58:44 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-12 08:13 编辑

如何VBS实现几个小功能
手上有一段代码想加几个功能上去··
  1. on Error Resume Next
  2. Dim wshshell
  3. Set wshshell = WScript.CreateObject("WScript.Shell")
  4.    wshshell.run "\\192.168.30.222\run$\tool\computerexe.bat",0,true   
  5.    Wscript.Sleep 5000
  6.    wshshell.run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe",0
  7. wscript.quit
复制代码
1.代码优先运行第一段执行代码,运行网络批处理,网络批处理可访问的话就不继续往下运行了,因为东西通过网络批处理调用了,网络文件不可访问的话就继续往下运行脚本

2.VBS脚本自判断系统是XP系统 或者WIN7 64位系统

WIN7 64位系统的话就运行C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe
XP 系统的话就运行 C:\Program Files\Hintsoft\PubwinClient\update.exe

由于自己不太懂,只能发帖求助了。

评分

参与人数 1PB -30 收起 理由
pcl_test -30 未按版规发帖

查看全部评分

发表于 2016-11-12 08:11:30 | 显示全部楼层
  1. if 存在 "\\192.168.30.222\run$\tool\computerexe.bat" then
  2.     run "\\192.168.30.222\run$\tool\computerexe.bat"
  3. else
  4.     if 存在 "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe" then
  5.        run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
  6.     else
  7.       run "C:\Program Files\Hintsoft\PubwinClient\update.exe"
  8.     end if
  9. end if
复制代码
 楼主| 发表于 2016-11-12 08:54:37 | 显示全部楼层
回复 2# pcl_test


    这个我刚测试VBS脚本报错了..是不是哪里有问题?

行1
字符4
错误 无效字符
代码 800a0408
源 microsoft vbscript 编译器错误
发表于 2016-11-12 09:05:54 | 显示全部楼层
回复 3# qq3475534

2楼的是伪代码,自行改为vbs代码
 楼主| 发表于 2016-11-12 11:21:43 | 显示全部楼层
本帖最后由 qq3475534 于 2016-11-12 11:34 编辑

回复 4# pcl_test
  1. on Error Resume Next
  2. Dim wshshell
  3. Set wshshell = WScript.CreateObject("WScript.Shell")
  4.    if "\\192.168.30.222\run$\tool\computerexe.bat" then
  5.     run "\\192.168.30.222\run$\tool\computerexe.bat"
  6. else
  7.     if "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe" then
  8.    Wscript.Sleep 5000
  9.        run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
  10.     else
  11.    Wscript.Sleep 5000
  12.       run "C:\Windows\System32\cmd.exe"
  13.     end if
  14. end if
  15. wscript.quit
复制代码
你好版主,我改成这样,运行是不会报错了,但是测试起来实际文件没有被调用,

没有被执行,而且我想判断共享那个文件,有的话就调用共享的那个文件,不继续执行下一步命令,

没有的话就继续下一步,但是需要延时5秒,在执行
我测试的是cmd.exe,实际没被调用,估计代码哪里还有错误。
发表于 2016-11-12 11:43:52 | 显示全部楼层
回复 5# qq3475534
把on Error Resume Next去掉就看得见报错了
 楼主| 发表于 2016-11-12 11:53:21 | 显示全部楼层
回复 6# pcl_test


    你好版主能否提供一段完整不报错的脚本,我不太懂这些,麻烦了。
发表于 2016-11-12 12:01:51 | 显示全部楼层
  1. Dim wso, fso, s1, s2, s3

  2. Set wso = CreateObject("WScript.Shell")
  3. Set fso = CreateObject("Scripting.FileSystemObject")

  4. s1 = "\\192.168.30.222\run$\tool\computerexe.bat"
  5. s2 = "C:\Program Files\Hintsoft\PubwinClient\update.exe"
  6. s3= "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"

  7. If fso.FileExists(s1) Then
  8.         wso.Run s1
  9. ElseIf fso.FileExists(s2) Then
  10.         wso.Run s2
  11. ElseIf fso.FileExists(s3) Then
  12.         wso.Run s3       
  13. End If

  14. Msgbox "Done!", vbInformation, WScript.ScriptName
复制代码
 楼主| 发表于 2016-11-12 12:14:42 | 显示全部楼层
本帖最后由 qq3475534 于 2016-11-12 12:15 编辑

回复 8# yu2n


    你好,你的代码我刚测试起来会报错,运行几秒后

行 15
字符 2
代码 80070002
源 (NULL)
发表于 2016-11-12 17:04:24 | 显示全部楼层
本帖最后由 yu2n 于 2016-11-12 19:51 编辑

回复 9# qq3475534
  1. Dim wso, fso, s1, s2, s3

  2. Set wso = CreateObject("WScript.Shell")
  3. Set fso = CreateObject("Scripting.FileSystemObject")

  4. s1 = "\\192.168.30.222\run$\tool\computerexe.bat"
  5. s2 = "C:\Program Files\Hintsoft\PubwinClient\update.exe"
  6. s3= "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"

  7. If fso.FileExists(s1) Then
  8.         wso.Run """" & s1 & """"
  9. ElseIf fso.FileExists(s2) Then
  10.         wso.Run """" & s2 & """"
  11. ElseIf fso.FileExists(s3) Then
  12.         wso.Run """" & s3 & """"       
  13. End If

  14. Msgbox "Done!", vbInformation, WScript.ScriptName
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:43 , Processed in 0.069682 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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