PDA

Показать полную графическую версию : Запуск двух программ


pzh2393
14-08-2018, 21:36
Есть необходимость автоматизировать запуск двух программ, причем вторая должна запускаться только после того как запустится первая (ну на крайний случай достаточно задержки в 30 секунд).
Вопрос осложняется еще тем, что первая находится по пути C:\Users\CurentUser\AppData\Local\Program\Program.exe, т.е. путь зависит от того под каким пользователем зашли в систему.
А вторая вовсе на другом диске. Скажем D:\Program\Program.exe
Прошу помочь разбирающихся в VBS людей.

Iska
14-08-2018, 22:24
только после того как pfgecnbncz первая »
Чего-чего-чего ;)?

Option Explicit

Dim objFSO

Dim strProgramm01
Dim strProgramm02

Dim lngProcessId


Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

strProgramm01 = objFSO.BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:Local AppData").self.Path, "Program\Program01.exe")
strProgramm02 = "D:\Program\Program02.exe"

If objFSO.FileExists(strProgramm01) Then
If objFSO.FileExists(strProgramm02) Then
With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").Get("Win32_Process")
If .Create(strProgramm01, objFSO.GetParentFolderName(strProgramm01), Nothing, lngProcessId) = 0 Then
WScript.Echo "Execute [" & strProgramm01 & "] successfully, process id is [" & CStr(lngProcessId) & "]."

If .Create(strProgramm02, objFSO.GetParentFolderName(strProgramm02), Nothing, lngProcessId) = 0 Then
WScript.Echo "Execute [" & strProgramm02 & "] successfully, process id is [" & CStr(lngProcessId) & "]."
Else
WScript.Echo "Can't execute file [" & strProgramm02 & "]."
WScript.Quit 4
End If
Else
WScript.Echo "Can't execute file [" & strProgramm01 & "]."
WScript.Quit 3
End If
End With
Else
WScript.Echo "Can't find file [" & strProgramm02 & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't find file [" & strProgramm01 & "]."
WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

pzh2393
15-08-2018, 08:55
Чего-чего-чего ? »
:) очепятка..

Пы.Сы. А как убрать сообщения об идентификаторах процессов?

Iska
15-08-2018, 09:07
Пы.Сы. А как убрать сообщения об идентификаторах процессов? »
Например, закомментировав вывод. Поставьте перед потребными WScript.Echo символ апострофа, наподобие:
' WScript.Echo "Execute [" & strProgramm02 & "] successfully, process id is [" & CStr(lngProcessId) & "]."
P.S. Не комментируйте все WScript.Echo подряд, иначе при банальном отсутствии файла можно будет долго гадать, почему вдруг «не работает».




© OSzone.net 2001-2012