Невозможно запустить файл bat формы VBScript, если путь содержит пробел
Я пытался запустить файл 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
Спасибо всем за ваши ответы. Это было полезно.