Запуск 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
Другие вопросы по тегам