【问题标题】:VBscript - "The system cannot find the file specified"VBscript - “系统找不到指定的文件”
【发布时间】:2015-10-28 11:19:58
【问题描述】:

我正在尝试编写一个简短的 VBScript,它会打开“calc.exe”和“wordpad.exe”。 那么问题是VBScript不会让我打开“wordpad.exe”。我尝试以管理员身份运行脚本,但这没有帮助。

我的脚本如下所示:

Set WshShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "C:\Program Files\Windows NT\Accessories\wordpad.exe"
WSHShell.Run "C:\Windows\System32\calc.exe"
x=msgbox("Test",4096,Test) 

我也尝试过这样定义路径:

WSHShell.Run ""C:\Program Files\Windows NT\Accessories\wordpad.exe""

也不行。我收到消息“预期语句结束”

有没有办法通过路径打开“wordpad.exe”?

亲切的问候

【问题讨论】:

  • 您使用 VBScript/WSH 是否有特定原因?它现在只是为了遗留支持而保留; PowerShell 是未来之道。
  • @alroc 我在这里使用 vbs(或 bat)而不是 Powershell,因为我需要用户能够在他们的机器上运行我的脚本 - Powershell 不这样做......它不'不要在双击时运行,即使这样也需要在它工作之前修复策略设置。无法使用

标签: vbscript wordpad


【解决方案1】:

shell 使用空格/空格作为分隔符。因此需要引用包含空格/空格的路径。在 VBScript 字符串文字中引用 " 的方法是将它们加倍。所以:

WSHShell.Run "C:\Program Files\Windows NT\Accessories\wordpad.exe"
==>
WSHShell.Run """C:\Program Files\Windows NT\Accessories\wordpad.exe"""

【讨论】:

  • 如果你使用变量作为路径,那么你需要使用:WSHShell.Run """" & varPath & """"
  • 如果您在 JScript 批处理文件中执行此操作,则语法为:WSHShell.Run('"C:\\Program Files\\Windows NT\\Accessories\\wordpad.exe"' );
  • 此外,如果您在带有 JS 的 .hta 应用程序中执行此操作,请注意地址也可以是相对的...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 2023-03-17
  • 2017-12-21
  • 2015-09-28
  • 2015-11-08
  • 2018-08-26
相关资源
最近更新 更多