Запуск vbscript из командного файла
Мне просто нужно написать простой командный файл, чтобы запустить vbscript. Оба файла vbscript и командный файл находятся в одной папке и находятся в каталоге SysWOW64, поскольку vbscript может выполняться только в этом каталоге. В настоящее время мой пакетный файл выглядит следующим образом:
@echo off
%WINDIR%\SysWOW64\cmd.exe
cscript necdaily.vbs
Но vbscript не был выполнен, и только командная строка открыта. Может ли кто-нибудь сказать мне, как я могу выполнить vbscript, когда я запускаю этот командный файл? Спасибо.
Ответы
Ответ 1
Вы можете использовать %~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
Ответ 2
Это команда для пакетного файла, и она может запускать vbscript.
C:\Windows\SysWOW64\cmd.exe /c cscript C:\Windows\SysWOW64\...\necdaily.vbs
Ответ 3
Пакетные файлы обрабатываются по строкам и завершаются всякий раз, когда вы вызываете исполняемый файл напрямую.
- Чтобы пакетный файл дождался завершения и продолжения процесса, поставьте call
перед ним.
- Чтобы пакетный файл продолжался, не дожидаясь, поставьте start ""
перед ним.
Я рекомендую использовать эту единственную строку script для достижения вашей цели:
@call cscript "% ~ dp0necdaily.vbs"
(потому что это одна строка, вы можете использовать @вместо @echo off)
Если вы считаете, что ваш script может быть вызван только из версий cmd.exe SysWOW64, вы можете попробовать:
@% WINDIR%\SysWOW64\cmd.exe/c вызов cscript "% ~ dp0necdaily.vbs"
Если вам нужно, чтобы окно оставалось, вы можете заменить /c на/k
Ответ 4
Ну, я пытаюсь открыть .vbs в пакетном файле без необходимости открывать, но ответ на этот вопрос...
SET APPDATA =% CD%
start (ваш файл здесь без скобок с .vbs, если это файл vbd)
надеюсь, что поможет:)
Ответ 5
Просто попробуйте этот код:
start "" C:\Users\DiPesh\Desktop\vbscript\welcome.vbs"
и сохранить как .bat, он работает для меня