vbs中,如果需要运行的程序中带有空格,按照通常的方式往往会提示错误,其实有两种形式不同的解决方法:
- 在应用程序前后分别加三个双引号,代码如下:
[c-sharp] view plaincopyprint?
- Set wshell=CreateObject("WScript.Shell")
- wshell.Run """C:/Program Files/360/360se/360se.exe""",5,True
- Set wshell = Nothing
Set wshell=CreateObject("WScript.Shell")
wshell.Run """C:/Program Files/360/360se/360se.exe""",5,True
Set wshell = Nothing
- 使用chr(34)对字符串加引号,代码如下:
[c-sharp] view plaincopyprint?
- temp="C:/Program Files/360/360se3/360se.exe"
- path = Chr(34) & temp & Chr(34)
- Set wshell=CreateObject("WScript.Shell")
- wshell.Run path,1,True
- Set wshell = Nothing
temp="C:/Program Files/360/360se3/360se.exe"
path = Chr(34) & temp & Chr(34)
Set wshell=CreateObject("WScript.Shell")
wshell.Run path,1,True
Set wshell = Nothing
3. 为了增加可读性,使用一种定义常量的方式,代码如下:
[c-sharp] view plaincopyprint?
- Public Const vbQuote = """"
- temp="C:/Program Files/360/360se3/360se.exe"
- path = vbQuote & temp & vbQuote
- Set wshell=CreateObject("WScript.Shell")
- wshell.Run path,1,True
- Set wshell = Nothing
Public Const vbQuote = """"
temp="C:/Program Files/360/360se3/360se.exe"
path = vbQuote & temp & vbQuote
Set wshell=CreateObject("WScript.Shell")
wshell.Run path,1,True
Set wshell = Nothing
一些解释:
- 因为vbs将双引号视为一个值的容器,所以你如果需要使用双引号作为一个值使用,那么需要在前后使用一个双引号来说明。
- 而Chr(integer i)则是返回ascii码表中i对应的字符,34在ascii码表中对应双引号。
VBS中解决路径带空格的三种方法
时间: 2024-10-12 12:41:56