Подтвердить что ты не робот

Запуск vbscript из командного файла

Мне просто нужно написать простой командный файл, чтобы запустить vbscript. Оба файла vbscript и командный файл находятся в одной папке и находятся в каталоге SysWOW64, поскольку vbscript может выполняться только в этом каталоге. В настоящее время мой пакетный файл выглядит следующим образом:

@echo off
%WINDIR%\SysWOW64\cmd.exe
cscript necdaily.vbs

Но vbscript не был выполнен, и только командная строка открыта. Может ли кто-нибудь сказать мне, как я могу выполнить vbscript, когда я запускаю этот командный файл? Спасибо.

4b9b3361

Ответ 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, он работает для меня