我一直在尝试从路径中启动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
感谢大家的回答,对我很有帮助。
""
。你之前尝试失败是因为忘记连接字符串(这就是变量strCurrentDirectory
被作为字符串一部分而不是它的值被添加的原因),请尝试这个-WshShell.Run """" & strCurrentDirectory & "\myFileToRun.bat""", 0
- user692942