2017-03-10 6 views
0

특정 스크립트를 중지하는 코드가 있습니까? 모두 스크립트를 taskkill로 사용하는 방법을 보았습니다.VBScript에서 특정 스크립트를 중지하는 방법

Option Explicit 
Dim WshShell 
Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "taskkill /f /im Cscript.exe", , True 
WshShell.Run "taskkill /f /im wscript.exe", , True 

는 단순히 한 번에 실행하는 wscript.sleep하지 모든 스크립트에서 자고 하나의 특정 스크립트를 종료합니다.

답변

0

다음을 시도해보십시오. 제거하려는 프로세스의 ProcessId를 유지해야합니다. 아래의 코드는 메모장을 열고 그것을 죽입니다. 이 예에서는 스크립트가 시작될 때 ProcessId를 캡처 한 다음 종료하는 방법을 보여줍니다.

Private Sub KillTest() 
    Dim killCmd 
    Dim pid 

    Set WshShell = CreateObject("WScript.Shell") 
    Set EngineRun = WshShell.Exec("notepad") 
    pid = EngineRun.ProcessID 

    killCmd = "taskkill /pid " & CStr(pid) 
    Set EngineRun = WshShell.Exec(killCmd) 
    Set EngineRun = Nothing 
    Set WshShell = Nothing 
End Sub 
+0

VBScript에는 익숙하지 않습니다. ProcessId는 무엇을 의미합니까? 그게 내가 끝내고 싶은 특정 코드인가? –

+0

ProcessID 또는 PID는 운영 체제가 실행중인 프로세스에 할당하는 고유 한 식별자입니다. Mukul의 코드는 스크립트 실행의 반환 값에'EngineRun'을'Set'하는 것을 제외하고는 여러분 코드와 동일해야합니다. 또한 올바른 시간을 죽일시기를 결정하기 위해 추가 논리가 필요합니다. –

+0

그럼 내 스크립트를 실행할 때의 반환 값은 무엇입니까? 또한 스크립트에 CreateObject 부분이 필요합니까? –