Запуск vbscript из командного файла
Мне просто нужно написать простой командный файл только для запуска VBScript. И vbscript, и командный файл находятся в одной папке и находятся в каталоге SysWOW64, поскольку vbscript можно выполнять только в этом каталоге. В настоящее время мой пакетный файл выглядит следующим образом:
@echo off
%WINDIR%\SysWOW64\cmd.exe
cscript necdaily.vbs
Но VBScript не был выполнен, и только командная строка открыта. Может кто-нибудь сказать мне, как я могу выполнить VBScript, когда я запускаю этот пакетный файл? Благодарю.
6 ответов
Ты можешь использовать %~dp0
чтобы получить путь к текущему пакетному файлу.
Отредактировано, чтобы изменить каталог в расположение VBS перед запуском
Если вы хотите, чтобы VBS синхронно работал в том же окне, то
@echo off
pushd %~dp0
cscript necdaily.vbs
Если вы хотите, чтобы VBS синхронно запускался в новом окне, то
@echo off
pushd %~dp0
start /wait "" cmd /c cscript necdaily.vbs
Если вы хотите, чтобы VBS асинхронно работал в том же окне, то
@echo off
pushd %~dp0
start /b "" cscript necdaily.vbs
Если вы хотите, чтобы VBS асинхронно работал в новом окне, то
@echo off
pushd %~dp0
start "" cmd /c cscript necdaily.vbs
Это команда для командного файла, и она может запустить VBScript.
C:\Windows\SysWOW64\cmd.exe /c cscript C:\Windows\SysWOW64\...\necdaily.vbs
Просто попробуйте этот код:
start "" "C: \ Users \ DiPesh \ Desktop \ vbscript \ welcome.vbs"
и сохранить как.bat, у меня работает
Пакетные файлы обрабатываются построчно и завершаются всякий раз, когда вы вызываете исполняемый файл напрямую.
- Чтобы заставить пакетный файл ждать завершения и продолжения процесса, введите call
перед ней.
- Чтобы пакетный файл продолжался без ожидания, поставьте start ""
перед ней.
Я рекомендую использовать этот однострочный скрипт для достижения вашей цели:
@call cscript "%~dp0necdaily.vbs"
(потому что это одна строка, вы можете использовать @ вместо @echo off)
Если вы считаете, что ваш скрипт может быть вызван только из SysWOW64 версий cmd.exe, вы можете попробовать:
@% WINDIR% \ SysWOW64 \ cmd.exe /c вызывает cscript "%~dp0necdaily.vbs"
Если вам нужно, чтобы окно оставалось, вы можете заменить /c на /k
Ну, я пытаюсь открыть.vbs в пакетном файле без необходимости открывать, но ответ на этот вопрос...
SET APPDATA =% CD%
начать (ваш файл здесь без скобок с.vbs, если это файл vbd)
надеюсь, это поможет:)
Вам следует поместить ваш .bat-файл в ту же папку, что и ваш .vbs-файл, и вызвать следующий код внутри .bat-файла.
start cscript C:\filePath\File.vbs