结束进程和重新启动的vbs脚本
结束进程和重新启动的vbs脚本
'function:
' list all process or kill one of them
'parameter:
NameorPID process's name or pid
'return:
' true if kill one process, else false
Function KillProcess(NameorPID) Dim oWMI, oProcs, oProc, strSQL KillProcess = False strSQL = "SELECT * FROM Win32_Process" If NameOrPID <> "" Then If IsNumeric(NameOrPID) Then strSQL = strSQL & " WHERE Handle = '" & NameorPID & "'" Else strSQL = strSQL & " WHERE Name = '" & NameorPID & "'" End If End If Set oWMI = GetObject("winmgmts:\\.\root\cimv2") Set oProcs = oWMI.ExecQuery(strSQL) For Each oProc In oProcs If IsNumeric(NameOrPID) Then oProc.Terminate WScript.Echo oProc.Name & "(" & oProc.Handle & ") was killed!" KillProcess = True Else WScript.Echo "Name: " & oProc.Name & vbTab & "PID: " & oProc.Handle & _ vbCrLf & vbTab & "Path: " & oProc.ExecutablePath End If Next Set oProc = Nothing Set oProcs = Nothing Set oWMI = Nothing
End Function
'function:
' reboot or shutdown operating system
'parameter:
' RorS "r"=reboot, "s" or others="shutdown"
'return:
' none
Function Reboot(RorS) Dim oWMI, oSys, oOpSys Set oWMI = GetObject("winmgmts:{(shutdown)}!\\.\root\cimv2") Set oOpSys = oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem") For Each oSys In oOpSys If Instr(LCase(RebootOrShut),"r") > 0 Then WScript.Echo "Reboot..." oSys.Reboot Else WScript.Echo "Shuting down..." oSys.Shutdown End If Next Set oOpSys = Nothing Set oSys = Nothing Set oWMI = Nothing
End Function
如果想试试看,把上面的代码拷贝到记事本,然后加入调用代码保存成c:\t.vbs,然后在Dos命令窗口下输入cscript c:\t.vbs [参数]。
调用代码可以像:
If WScript.Arguments.Count > 0 Then KillProcess WScript.Arguments(0)'或者写Reboot WScript.Arguments(0)
Else KillProcess '或者写Reboot
End If
<span style="behavior:url(../inc/font.htc)">想跟喜欢黑客和编程的哥们 交个朋友啊! 我的QQ 7743285</span>