【问题标题】:VBS with Space in File Path文件路径中有空格的 VBS
【发布时间】:2013-01-16 14:26:38
【问题描述】:

如果我将 bat 移动到名称中没有空格的文件夹中,这就是我所拥有的并且无法让 bat 运行。我的问题是实际的 bat 位于带有空格的文件夹中,所以我需要它来工作。

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("%comspec% /K C:\Program Files\ping.bat"), 1, True

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    您需要引用文件规范:

    Run("%comspec% /K ""C:\Program Files\ping.bat""")
    

    【讨论】:

    • 这在 Windows 10 1909 WScript.CreateObject("Wscript.Shell").Run("%comspec% /K ""\\NETWORK\Test Folder""") 中对我不起作用它打开 CMD 并且找不到“空格前的字符串”。这确实有效,但我需要一些带空格的东西WScript.CreateObject("Wscript.Shell").Run("\\NETWORK\TestFolder")
    【解决方案2】:

    我在 VBScript 中的目录路径中遇到了类似的问题,其中包含空格:

    例如

    以下操作无效:

    objShell.Run("C:\Program Files\NetBeans 8.0.2\bin\netbeans64.exe") 
    

    我只是在路径的两侧添加了两个额外的双引号,它对我有用:

    objShell.Run("""C:\Program Files\NetBeans 8.0.2\bin\netbeans64.exe""")
    

    【讨论】:

      【解决方案3】:

      试试这个

      Set objShell = WScript.CreateObject("WScript.Shell")
      strCommand = chr(34)&"%comspec% /K C:\Program Files\ping.bat"&chr(34)
      objShell.Run strCommand,1,True
      

      【讨论】:

        【解决方案4】:

        我知道这是一个老问题,但我找到了适合我的解决方法。
        这是您需要的双引号。
        试试下面:

        objShell.Run("%comspec% /K " & """C:\Program Files\ping.bat""""), 1, True);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-09
          • 2015-06-13
          • 1970-01-01
          • 2014-09-07
          • 2011-11-27
          • 2013-08-01
          • 1970-01-01
          • 2012-05-05
          相关资源
          最近更新 更多