标题: [技术讨论] vbs如何判断是否能执行网络共享文件夹里的程序并根据不同的系统版本执行不同操作 [打印本页]
作者: qq3475534 时间: 2016-11-11 23:58 标题: vbs如何判断是否能执行网络共享文件夹里的程序并根据不同的系统版本执行不同操作
本帖最后由 pcl_test 于 2016-11-12 08:13 编辑
如何VBS实现几个小功能
手上有一段代码想加几个功能上去··- on Error Resume Next
- Dim wshshell
- Set wshshell = WScript.CreateObject("WScript.Shell")
- wshshell.run "\\192.168.30.222\run$\tool\computerexe.bat",0,true
- Wscript.Sleep 5000
- wshshell.run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe",0
- 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
由于自己不太懂,只能发帖求助了。
作者: pcl_test 时间: 2016-11-12 08:11
- if 存在 "\\192.168.30.222\run$\tool\computerexe.bat" then
- run "\\192.168.30.222\run$\tool\computerexe.bat"
- else
- if 存在 "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe" then
- run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
- else
- run "C:\Program Files\Hintsoft\PubwinClient\update.exe"
- end if
- end if
复制代码
作者: qq3475534 时间: 2016-11-12 08:54
回复 2# pcl_test
这个我刚测试VBS脚本报错了..是不是哪里有问题?
行1
字符4
错误 无效字符
代码 800a0408
源 microsoft vbscript 编译器错误
作者: pcl_test 时间: 2016-11-12 09:05
回复 3# qq3475534
2楼的是伪代码,自行改为vbs代码
作者: qq3475534 时间: 2016-11-12 11:21
本帖最后由 qq3475534 于 2016-11-12 11:34 编辑
回复 4# pcl_test - on Error Resume Next
- Dim wshshell
- Set wshshell = WScript.CreateObject("WScript.Shell")
- if "\\192.168.30.222\run$\tool\computerexe.bat" then
- run "\\192.168.30.222\run$\tool\computerexe.bat"
- else
- if "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe" then
- Wscript.Sleep 5000
- run "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
- else
- Wscript.Sleep 5000
- run "C:\Windows\System32\cmd.exe"
- end if
- end if
- wscript.quit
复制代码
你好版主,我改成这样,运行是不会报错了,但是测试起来实际文件没有被调用,
没有被执行,而且我想判断共享那个文件,有的话就调用共享的那个文件,不继续执行下一步命令,
没有的话就继续下一步,但是需要延时5秒,在执行
我测试的是cmd.exe,实际没被调用,估计代码哪里还有错误。
作者: pcl_test 时间: 2016-11-12 11:43
回复 5# qq3475534
把on Error Resume Next去掉就看得见报错了
作者: qq3475534 时间: 2016-11-12 11:53
回复 6# pcl_test
你好版主能否提供一段完整不报错的脚本,我不太懂这些,麻烦了。
作者: yu2n 时间: 2016-11-12 12:01
- Dim wso, fso, s1, s2, s3
-
- Set wso = CreateObject("WScript.Shell")
- Set fso = CreateObject("Scripting.FileSystemObject")
-
- s1 = "\\192.168.30.222\run$\tool\computerexe.bat"
- s2 = "C:\Program Files\Hintsoft\PubwinClient\update.exe"
- s3= "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
-
- If fso.FileExists(s1) Then
- wso.Run s1
- ElseIf fso.FileExists(s2) Then
- wso.Run s2
- ElseIf fso.FileExists(s3) Then
- wso.Run s3
- End If
-
- Msgbox "Done!", vbInformation, WScript.ScriptName
复制代码
作者: qq3475534 时间: 2016-11-12 12:14
本帖最后由 qq3475534 于 2016-11-12 12:15 编辑
回复 8# yu2n
你好,你的代码我刚测试起来会报错,运行几秒后
行 15
字符 2
代码 80070002
源 (NULL)
作者: yu2n 时间: 2016-11-12 17:04
本帖最后由 yu2n 于 2016-11-12 19:51 编辑
回复 9# qq3475534 - Dim wso, fso, s1, s2, s3
-
- Set wso = CreateObject("WScript.Shell")
- Set fso = CreateObject("Scripting.FileSystemObject")
-
- s1 = "\\192.168.30.222\run$\tool\computerexe.bat"
- s2 = "C:\Program Files\Hintsoft\PubwinClient\update.exe"
- s3= "C:\Program Files (x86)\Hintsoft\PubwinClient\update.exe"
-
- If fso.FileExists(s1) Then
- wso.Run """" & s1 & """"
- ElseIf fso.FileExists(s2) Then
- wso.Run """" & s2 & """"
- ElseIf fso.FileExists(s3) Then
- wso.Run """" & s3 & """"
- End If
-
- Msgbox "Done!", vbInformation, WScript.ScriptName
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |