【问题标题】:CreateObject("WScript.Shell").Run Path with spaces can not find fileCreateObject("WScript.Shell").Run Path 带空格找不到文件
【发布时间】:2019-10-19 08:15:10
【问题描述】:

在运行带有空格的路径的 WScript.Shell Run 时收到错误消息。

我尝试了几种导致相同错误的不同变体。

CreateObject("WScript.Shell").Run """Program Files\scripts\exe\PsExec64.exe -accepteula -realtime -d c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 264"" ", 0, True
CreateObject("WScript.Shell").Run "Program Files\scripts\exe\PsExec64.exe -accepteula -realtime -d c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 264", 0, True
CreateObject("WScript.Shell").Run "'Program Files\scripts\exe\PsExec64.exe -accepteula -realtime -d c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 264'", 0, True
CreateObject("WScript.Shell").Run("Program Files\scripts\exe\PsExec64.exe -accepteula -realtime -d c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 264", 0, True)

我知道路径中的空格导致错误,我只是无法正确地用引号括起来。

【问题讨论】:

  • 您正在调用相对路径(以 Program Files\scripts\... 开头。尝试通过前缀 C:\ 来完全限定路径(如果这是您的驱动器)。您还必须使用此语法 @ 987654329@
  • 必须删除我评论中的最后一个"。不幸的是,我不能再删除它了。
  • 呃:|你是神,谢谢。我已经看了好几个小时了,你在几分钟内就把它修好了。我总是觉得在这里发帖很愚蠢,因为它通常很愚蠢。
  • 使用引号总是很棘手。在我几乎所有的 vbscript 中,我都包含一个双引号变量的函数。只要您正确识别它们,它就会有所帮助。 Function dq(ByVal s) dg = Chr(34) & s & Chr(34) End Function(cmets 中的代码看起来很垃圾,抱歉)

标签: vbscript wsh hta wscript.shell


【解决方案1】:

您需要指定驱动器号,例如c:\程序文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多