Почему VBS всегда говорит мне, что файл не найден, хотя файл находится прямо там? (При запуске) - PullRequest
1 голос
/ 01 ноября 2019

У меня есть файл .vbs, который я настроил для запуска при запуске через regedit. В основном то, что делает VBS, - это выполнение другой программы в том же каталоге (я вставлю скрипт VBS ниже). Обычно скрипт vbs прекрасно работает и все хорошо. Однако всякий раз, когда скрипт vbs запускается при запуске (то есть автоматически запускается сразу после загрузки компьютера), я всегда получаю сообщение об ошибке, сообщающее, что Windows не может найти мой файл (например, hello.exe), даже если exe-файл правильныйтам.

Я попытался установить задержку для сценария, но это привело к той же проблеме. Я очень запутался, потому что каждый раз, когда я запускаю VBS вручную (например, двойной щелчок по нему), все работает нормально, никаких проблем.

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "hello.exe" & Chr(34), 0
Set WshShell = Nothing

Ожидаемый результат заключается в том, что сценарий VBS будет работать нормально, как он работает каждый раз, когда я запускаю его вручную. Сообщение об ошибке: «Строка 2: файл не найден» или что-то в этом роде.

Ответы [ 2 ]

1 голос
/ 01 ноября 2019

Когда Hackoo подходит, используйте полный путь к исполняемому EXE-файлу:

WshShell.Run chr(34) & "C:\My Hello App\hello.exe" & Chr(34), 0

0 голосов
/ 03 ноября 2019

Запустится исполняемый файл, если он находится в той же папке, что и ваш скрипт.

strPath = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName,"\"))
WshShell.Run chr(34) & strPath & "hello.exe" & Chr(34), 0
...