vbs中wscript.shell对象run调用dos命令的路径问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vbs中wscript.shell对象run调用dos命令的路径问题相关的知识,希望对你有一定的参考价值。

vbs代码
set wsh=createobject("wscript.shell")
wsh.run "cmd /c start /max 文件路径",0
其中的 文件路径 含有空格 所以必须要用双引号括起来 但是已经有双引号了 这个该怎么处理呢

参考技术A set wsh=createobject("wscript.shell")
wsh.run "cmd /c start /max “ & chr(34) & "文件路径" & Chr(34),0追问

不可以的 弹出的窗口不是文件窗口 而是bat 窗口 你建个.txt文件测试一下

追答

这个不是代码的问题,cmd /c start /max 后面的路径本来加双引号就会变成那样

关于QTP报错“缺少对象WScript” Set WshShell=WScript.CreateObject ("WScript.Shell"),提示缺少对象

参考技术A 改成这样试试
Set WshShell=CreateObject ("WScript.Shell")追问

Set WshShell=WScript.CreateObject ("WScript.Shell")
这个为什么不可以呢?

追答

首先要明白 WScript.CreateObject 和 CreateObject 的区别。
前者的描述方式是基于windows来识别和调用的,所以假如你在一个vbs文件里这么描述,然后双击执行这个文件是没有问题,因为windows存在Wscript这个对象,它遇到这个对象的时候会调用 C:\windows\system32\wscript.exe 这个 应用程序去执行它。
而后者则是不直接调用WScript这个对象来进行后期绑定WSH对象的。比如你在ASP中、QTP中,都必须用这个方式。因为ASP也好,QTP也好,里面都不存在WScript这个对象,所以你用WScript.CreateObject肯定会失败。

参照:http://www.cnblogs.com/jinjiangongzuoshi/p/3491199.html

本回答被提问者和网友采纳

以上是关于vbs中wscript.shell对象run调用dos命令的路径问题的主要内容,如果未能解决你的问题,请参考以下文章

开机VBS调用远程批处理(懂批处理的进)

如何在vbs中执行批处理命令

VBS写个循环运行程序的代码让它一直运行

使用 VBS 禁用/启用任务管理器

WScript.Shell对象的 run()和exec()函数使用详解

关于QTP报错“缺少对象WScript” Set WshShell=WScript.CreateObject ("WScript.Shell"),提示缺少对象