У меня есть этот сценарий, и мне нужно его завершить (автозапуск или самоубийство, а также закрыть wscript.exe) после запуска .bat
On Error Resume next
If WScript.Arguments.Named.Exists("elevated") = False Then
'Launch the script again as administrator
CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ /elevated", "", "runas", 1
WScript.Quit
Else
'Change the working directory from the system32 folder back to the script's folder.
Set oShell = CreateObject("WScript.Shell")
oShell.CurrentDirectory = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
End If
Dim Fso
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
set objshell = createobject("wscript.shell")
homedrive = objshell.ExpandEnvironmentStrings( "%HOMEDRIVE%" )
SCRIPT = homedrive & "\test\bar.bat"
strPath = Wscript.ScriptFullName
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPath)
strFolder = objFSO.GetParentFolderName(objFile)
NewPath = objFSO.BuildPath(strFolder, SCRIPT)
set objshell = createobject("wscript.shell")
objshell.Run (script),0,True
Неудачные попытки:
- Я пытался с этим кодом, и он не работал
- WScript.Выйти (в конце скрипта) и не получилось
- Измените "true" на "False", и это не сработало
Есть идеи?
Обновление: Основная проблема заключается в том, что wscript.exe остается запущенным после запуска .vbs (это можно увидеть в диспетчере задач), и я не могу использовать команды cmd внутри .vbs или внутри .bat (taskkill /f /im "wscript .exe "/t), потому что .bat и .vbs закрыты
Если на мой вопрос нет ответа: я был бы признателен, если бы кто-нибудь сказал мне, как запустить .bat с помощью метода, который Windows распознает изначально (без установки зависимостей). Пожалуйста, исключите следующие методы:
- запустить .bat напрямую
- Запустите .bat с помощью ярлыка
- Конвертировать .bat в .exe
- Запустите .bat с .vbs