You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11中如何在VBScript里结合变量使用WshShell Run方法?

问题分析与解决

你的问题出在路径的引号包裹格式错误:

错误原因

你通过chr(34)拼接出的变量Sexy包含了三层双引号("""..\Src and Dst.txt"""),而WshShell.Run对带空格的路径只需要一对双引号包裹即可。系统无法识别三层引号的路径格式,因此默认打开了“此电脑”。

对比你注释掉的正确代码:"""..\Src and Dst.txt"""在VBScript中,两个连续双引号会被解析为一个实际的双引号,所以最终传递给Run的是"..\Src and Dst.txt",这是符合要求的格式。

修正后的代码

方式1:使用chr(34)拼接

Dim Sexy,WshShell3,fil

Set WshShell3 = WScript.CreateObject("WScript.Shell")

fil = ".\Src and Dst.txt"
' 仅用一对双引号包裹路径
Sexy = chr(34) + fil + chr(34)

Wscript.Echo Sexy

WshShell3.Run Sexy
' 现在会正确打开目标文本文件

Set WshShell3 = Nothing

Wscript.Quit

方式2:使用VBScript原生双引号转义

不用chr(34),直接用连续双引号表示单个实际双引号:

Dim Sexy,WshShell3,fil

Set WshShell3 = WScript.CreateObject("WScript.Shell")

fil = ".\Src and Dst.txt"
' 四个双引号解析为两个实际双引号,包裹路径后就是正确格式
Sexy = """" & fil & """"

Wscript.Echo Sexy

WshShell3.Run Sexy

Set WshShell3 = Nothing

Wscript.Quit

内容的提问来源于stack exchange,提问作者user21932362

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:02:05