gpt4 book ai didi

windows - 如果路径包含空格,则无法从 VBScript 启动 bat 文件

转载 作者:可可西里 更新时间:2023-11-01 14:02:38 25 4
gpt4 key购买 nike

例如,我一直在尝试从某个路径启动 myFileToRun.bat 文件。

D:\My Folder\batchfiles\myFileToRun.bat

下面是我试图运行它的 VBScript。

Dim WshShell, strCurrentDirectory  
Set WshShell = CreateObject("WScript.Shell")
strCurrentDirectory = WshShell.CurrentDirectory
WshShell.Run strCurrentDirectory & "\myFileToRun.bat" , 0
Set WshShell = Nothing

我无法运行它,因为 VBS 显示错误“系统找不到指定的文件”我尝试了 stackoverflow 和其他论坛中其他类似帖子中提到的各种方法。大部分都说加双引号。

注意:我试过加双引号,比如双引号

1.WshShell.Run """strCurrentDirectory & "\myFileToRun.bat" "", 0
2.WshShell.Run """"strCurrentDirectory & "\myFileToRun.bat"""", 0
3.WshShell.Run """"strCurrentDirectory & \myFileToRun.bat"""", 0

它们都不起作用,因为我想我在错误的地方给出了引号。变量 strCurrentDirectory 更改为“strCurrentDirectory”而不是“D:\My Folder\batchfiles”,因此我的最终路径将是“strCurrentDirectory”“\myFileToRun.bat”,这是错误的。我需要路径为“D:\My Folder\batchfiles\myFileToRun.bat”和要运行的文件。

我还没有真正理解这些添加引号的概念。那么你能解释一下这个概念并帮助我解决这个错误吗?

编辑:我找到了解决方案。由于我必须引用当前目录,所以我只是简化了脚本。

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "myFileToRun.bat", 0
Set WshShell = Nothing

谢谢大家的回答。这很有帮助。

最佳答案

像这样尝试:

Dim WshShell, strCurrentDirectory  
Set WshShell = CreateObject("WScript.Shell")
strCurrentDirectory = WshShell.CurrentDirectory
WshShell.Run """" & strCurrentDirectory & "\di r\myFileToRun.bat" & """" , 0
Set WshShell = Nothing

关于windows - 如果路径包含空格,则无法从 VBScript 启动 bat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37254375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com