| |
| |
| |
| Call CheckOS() |
| Call MeEncoder() |
| |
| |
| |
| |
| If WScript.Arguments.Count = 0 Then |
| Call main() |
| WScript.Quit |
| Else |
| Dim strArg, arrTmp |
| For Each strArg In WScript.Arguments |
| arrTmp = Split(strArg, "=") |
| If UBound( arrTmp ) = 1 Then |
| Select Case LCase( arrTmp(0) ) |
| Case "sep" |
| Call sep( arrTmp(1) ) |
| Case "process_stop" |
| Call process_stop( arrTmp(1) ) |
| Case "process_start" |
| Call process_start( arrTmp(1) ) |
| Case "server_stop" |
| Call server_stop( arrTmp(1) ) |
| Case "server_start" |
| Call server_start( arrTmp(1) ) |
| Case "show_tip" |
| Call show_tip( arrTmp(1) ) |
| Case Else |
| WScript.Quit |
| End Select |
| End If |
| Next |
| WScript.Quit |
| End If |
| |
| |
| |
| |
| Sub main() |
| If (IsRun("Rtvscan.exe", "") = 1) Or (IsRun("ccSvcHst.exe", "") = 1) Or (IsRun("SMC.exe", "") = 1) Then |
| Call SEP_STOP() |
| Else |
| Call SEP_START() |
| End If |
| End Sub |
| |
| |
| |
| |
| Sub sep( strMode ) |
| Select Case LCase(strMode) |
| Case "stop" |
| Call SEP_STOP() |
| Case "start" |
| Call SEP_START() |
| End Select |
| End Sub |
| |
| |
| |
| |
| Sub SEP_STOP() |
| |
| Set wso = CreateObject("WScript.Shell") |
| |
| |
| Call process_clear() |
| |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""SENS""", 0, True |
| |
| |
| Set pid = Getobject("winmgmts:\\.").InstancesOf("Win32_Process") |
| For Each id In pid |
| If LCase(id.name) = LCase("Wscript.exe") Then |
| mepid=id.ProcessID |
| End If |
| Next |
| |
| |
| wso.Run """" & WScript.ScriptFullName & """ show_tip=stop", 0, False |
| |
| |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""SENS""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""Symantec AntiVirus""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""ccEvtMgr""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""SmcService""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""SNAC""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""ccSetMgr""", 0, True |
| |
| |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=ccApp.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=ccSvcHst.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=SNAC.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=Rtvscan.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=SescLU.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=Smc.exe", 0, False |
| wso.Run """" & WScript.ScriptFullName & """ process_stop=SmcGui.exe", 0, False |
| |
| |
| WScript.Sleep 15000 |
| |
| |
| Set pid = Getobject("winmgmts:\\.").InstancesOf("Win32_Process") |
| For Each ps In pid |
| If (LCase(ps.name) = "wscript.exe") Or (LCase(ps.name) = "cscript.exe") Then ps.terminate |
| Next |
| |
| |
| Call process_clear() |
| |
| |
| |
| End Sub |
| |
| |
| |
| |
| Sub SEP_START() |
| Set wso = CreateObject("WScript.Shell") |
| |
| wso.Run """" & WScript.ScriptFullName & """ show_tip=start", 0, False |
| |
| |
| wso.Run """" & WScript.ScriptFullName & """ server_stop=""SENS""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_start=""Symantec AntiVirus""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_start=""ccEvtMgr""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_start=""SmcService""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_start=""SNAC""", 0, True |
| wso.Run """" & WScript.ScriptFullName & """ server_start=""ccSetMgr""", 0, True |
| Set wso = Nothing |
| End Sub |
| |
| |
| |
| |
| Function process_stop( strAppName ) |
| Dim i |
| For i = 1 To 100 |
| Set pid = Getobject("winmgmts:\\.").InstancesOf("Win32_Process") |
| For Each id In pid |
| If LCase(id.name) = LCase(strAppName) Then |
| Dim wso |
| Set wso = CreateObject("WScript.Shell") |
| wso.run "ntsd.exe -c q -p " & id.ProcessID, 0, True |
| End If |
| Next |
| WScript.Sleep 500 |
| Next |
| End Function |
| |
| |
| |
| |
| Sub server_stop( byVal strServerName ) |
| |
| Set wso = CreateObject("WScript.Shell") |
| wso.run "sc config """ & strServerName & """ start= disabled", 0, True |
| wso.run "cmd /c echo Y|net stop """ & strServerName & """", 0, True |
| Set wso = Nothing |
| |
| End Sub |
| |
| |
| |
| |
| Sub server_start( byVal strServerName ) |
| |
| Set wso = CreateObject("WScript.Shell") |
| wso.run "sc config """ & strServerName & """ start= auto", 0, True |
| wso.run "cmd /c echo Y|net start """ & strServerName & """", 0, True |
| Set wso = Nothing |
| |
| End Sub |
| |
| |
| |
| |
| Sub show_tip( strType ) |
| Set wso = CreateObject("WScript.Shell") |
| Select Case LCase(strType) |
| Case "stop" |
| wso.popup chr(13) + "正在停止 SEP,請稍等.. " + chr(13), 20, "StopSEP 正在运行", 0+64 |
| Case "start" |
| wso.popup chr(13) + "正在启动 SEP,請稍等.. " + chr(13), 20, "StopSEP 已经停止", 0+64 |
| End Select |
| Set wso = Nothing |
| End Sub |
| |
| |
| |
| |
| Sub process_clear() |
| |
| Set pid = Getobject("winmgmts:\\.").InstancesOf("Win32_Process") |
| For Each ps In pid |
| Select Case LCase(ps.name) |
| Case "net.exe" |
| ps.terminate |
| Case "net1.exe" |
| ps.terminate |
| Case "sc.exe" |
| ps.terminate |
| Case "ntsd.exe" |
| ps.terminate |
| End Select |
| Next |
| End Sub |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Sub GetGloVar() |
| WhoAmI = CreateObject( "WScript.Network" ).ComputerName & "\" & CreateObject( "WScript.Network" ).UserName |
| TmpDir = CreateObject("Scripting.FileSystemObject").getspecialfolder(2) & "\" |
| WinDir = CreateObject("wscript.Shell").ExpandenVironmentStrings("%windir%") & "\" |
| AppDataDir = CreateObject("WScript.Shell").SpecialFolders("AppData") & "\" |
| StartupDir = CreateObject("WScript.Shell").SpecialFolders("Startup") & "\" |
| MeDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName,"\")) |
| |
| UNCHost = LCase(Mid(WScript.ScriptFullName,InStr(WScript.ScriptFullName,"\\")+2,InStr(3,WScript.ScriptFullName,"\",1)-3)) |
| End Sub |
| |
| |
| |
| |
| Sub Sleep( sTime ) |
| WScript.Sleep sTime |
| End Sub |
| Sub SendKeys( strKey ) |
| CreateObject("WScript.Shell").SendKeys strKey |
| End Sub |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Function AppActivate( strWindowTitle ) |
| AppActivate = CreateObject("WScript.Shell").AppActivate( strWindowTitle ) |
| End Function |
| |
| |
| |
| |
| Sub WarningInfo( strTitle, strMsg, sTime ) |
| CreateObject("wscript.Shell").popup strMsg, sTime , strTitle, 48+4096 |
| End Sub |
| Sub TipInfo( strTitle, strMsg, sTime ) |
| CreateObject("wscript.Shell").popup strMsg, sTime , strTitle, 64+4096 |
| End Sub |
| Sub ErrorInfo( strTitle, strMsg, sTime ) |
| CreateObject("wscript.Shell").popup strMsg, sTime , strTitle, 16+4096 |
| End Sub |
| |
| |
| |
| Sub Run( strCmd ) |
| CreateObject("WScript.Shell").Run strCmd, 1, True |
| End Sub |
| Sub RunNotWait( strCmd ) |
| CreateObject("WScript.Shell").Run strCmd, 1, False |
| End Sub |
| Sub RunHide( strCmd ) |
| CreateObject("WScript.Shell").Run strCmd, 0, True |
| End Sub |
| Sub RunHideNotWait( strCmd ) |
| CreateObject("WScript.Shell").Run strCmd, 0, False |
| End Sub |
| |
| |
| |
| |
| |
| |
| Function CmdOut(str) |
| Set ws = CreateObject("WScript.Shell") |
| host = WScript.FullName |
| |
| If LCase( right(host, len(host)-InStrRev(host,"\")) ) = "wscript.exe" Then |
| ws.run "cscript """ & WScript.ScriptFullName & chr(34), 0 |
| WScript.Quit |
| End If |
| Set oexec = ws.Exec(str) |
| CmdOut = oExec.StdOut.ReadAll |
| End Function |
| |
| Function IsCmdMode() |
| IsCmdMode = False |
| If (LCase(Right(WScript.FullName,11)) = LCase("CScript.exe")) Then IsCmdMode = True |
| End Function |
| |
| Function Exist( strPath ) |
| Exist = False |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| If ((fso.FolderExists(strPath)) Or (fso.FileExists(strPath))) Then Exist = True |
| Set fso = Nothing |
| End Function |
| |
| |
| Sub MD( ByVal strPath ) |
| Dim arrPath, strTemp, valStart |
| arrPath = Split(strPath, "\") |
| If Left(strPath, 2) = "\\" Then |
| valStart = 3 |
| strTemp = arrPath(0) & "\" & arrPath(1) & "\" & arrPath(2) |
| Else |
| valStart = 1 |
| strTemp = arrPath(0) |
| End If |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| For i = valStart To UBound(arrPath) |
| strTemp = strTemp & "\" & arrPath(i) |
| If Not fso.FolderExists( strTemp ) Then fso.CreateFolder( strTemp ) |
| Next |
| Set fso = Nothing |
| End Sub |
| |
| |
| Sub Copy( ByVal strSource, ByVal strDestination ) |
| On Error Resume Next |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| If (fso.FileExists(strSource)) Then |
| If (fso.FolderExists(strDestination)) Then |
| fso.CopyFile fso.GetFile(strSource).Path, fso.GetFolder(strDestination).Path & "\", True |
| Else |
| fso.CopyFile fso.GetFile(strSource).Path, strDestination, True |
| End If |
| End If |
| If (fso.FolderExists(strSource)) Then fso.CopyFolder fso.GetFolder(strSource).Path, fso.GetFolder(strDestination).Path, True |
| Set fso = Nothing |
| End Sub |
| |
| |
| Sub Del( strPath ) |
| On Error Resume Next |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| If (fso.FileExists(strPath)) Then |
| fso.GetFile( strPath ).attributes = 0 |
| fso.GetFile( strPath ).delete |
| End If |
| If (fso.FolderExists(strPath)) Then |
| fso.GetFolder( strPath ).attributes = 0 |
| fso.GetFolder( strPath ).delete |
| End If |
| Set fso = Nothing |
| End Sub |
| |
| |
| Sub Attrib( strPath, strArgs ) |
| Dim fso, valAttrib, arrAttrib() |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| If (fso.FileExists(strPath)) Then valAttrib = fso.getFile( strPath ).attributes |
| If (fso.FolderExists(strPath)) Then valAttrib = fso.getFolder( strPath ).attributes |
| If valAttrib = "" Or strArgs = "" Then Exit Sub |
| binAttrib = DecToBin(valAttrib) |
| For i = 0 To 16 |
| ReDim Preserve arrAttrib(i) : arrAttrib(i) = 0 |
| If i > 16-Len(binAttrib) Then arrAttrib(i) = Mid(binAttrib, i-(16-Len(binAttrib)), 1) |
| Next |
| If Instr(1, LCase(strArgs), "+r", 1) Then arrAttrib(16-0) = 1 |
| If Instr(1, LCase(strArgs), "-r", 1) Then arrAttrib(16-0) = 0 |
| If Instr(1, LCase(strArgs), "+h", 1) Then arrAttrib(16-1) = 1 |
| If Instr(1, LCase(strArgs), "-h", 1) Then arrAttrib(16-1) = 0 |
| If Instr(1, LCase(strArgs), "+s", 1) Then arrAttrib(16-2) = 1 |
| If Instr(1, LCase(strArgs), "-s", 1) Then arrAttrib(16-2) = 0 |
| If Instr(1, LCase(strArgs), "+a", 1) Then arrAttrib(16-5) = 1 |
| If Instr(1, LCase(strArgs), "-a", 1) Then arrAttrib(16-5) = 0 |
| valAttrib = BinToDec(Join(arrAttrib,"")) |
| If (fso.FileExists(strPath)) Then fso.getFile( strPath ).attributes = valAttrib |
| If (fso.FolderExists(strPath)) Then fso.getFolder( strPath ).attributes = valAttrib |
| Set fso = Nothing |
| End Sub |
| Function DecToBin(ByVal number) |
| Dim remainder |
| remainder = number |
| Do While remainder > 0 |
| DecToBin = CStr(remainder Mod 2) & DecToBin |
| remainder = remainder \ 2 |
| Loop |
| End Function |
| Function BinToDec(ByVal binStr) |
| Dim i |
| For i = 1 To Len(binStr) |
| BinToDec = BinToDec + (CInt(Mid(binStr, i, 1)) * (2 ^ (Len(binStr) - i))) |
| Next |
| End Function |
| |
| |
| Function Ping(host) |
| On Error Resume Next |
| Ping = False : If host = "" Then Exit Function |
| Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & host & "'") |
| For Each objStatus in objPing |
| If objStatus.ResponseTime >= 0 Then Ping = True : Exit For |
| Next |
| Set objPing = nothing |
| End Function |
| |
| |
| |
| Function NowDateTime() |
| |
| MyWeek = "" |
| NowDateTime = MyWeek & Format_Time(Now(),2) & " " & Format_Time(Now(),3) |
| End Function |
| Function Format_Time(s_Time, n_Flag) |
| Dim y, m, d, h, mi, s |
| Format_Time = "" |
| If IsDate(s_Time) = False Then Exit Function |
| y = cstr(year(s_Time)) |
| m = cstr(month(s_Time)) |
| If len(m) = 1 Then m = "0" & m |
| d = cstr(day(s_Time)) |
| If len(d) = 1 Then d = "0" & d |
| h = cstr(hour(s_Time)) |
| If len(h) = 1 Then h = "0" & h |
| mi = cstr(minute(s_Time)) |
| If len(mi) = 1 Then mi = "0" & mi |
| s = cstr(second(s_Time)) |
| If len(s) = 1 Then s = "0" & s |
| Select Case n_Flag |
| Case 1 |
| Format_Time = y & m & d & h & mi & s |
| Case 2 |
| Format_Time = y & "-" & m & "-" & d |
| Case 3 |
| Format_Time = h & ":" & mi & ":" & s |
| Case 4 |
| Format_Time = y & "年" & m & "月" & d & "日" |
| Case 5 |
| Format_Time = y & m & d |
| End Select |
| End Function |
| |
| |
| |
| |
| |
| |
| |
| Function RegExpTest(patrn, strng, mode) |
| Dim regEx, Match, Matches |
| Set regEx = New RegExp |
| regEx.Pattern = patrn |
| regEx.IgnoreCase = True |
| regEx.Global = True |
| Dim RetStr, arrMatchs(), i : i = -1 |
| Set Matches = regEx.Execute(strng) |
| For Each Match in Matches |
| i = i + 1 |
| ReDim Preserve arrMatchs(i) |
| arrMatchs(i) = Match.Value |
| RetStr = RetStr & "Match found at position " & Match.FirstIndex & ". Match Value is '" & Match.Value & "'." & vbCRLF |
| Next |
| If LCase(mode) = LCase("Value") Then RegExpTest = arrMatchs |
| If LCase(mode) = LCase("Count") Then RegExpTest = Matches.Count |
| If IsEmpty(RegExpTest) Then RegExpTest = RetStr |
| End Function |
| |
| |
| |
| |
| Function RegRead( strKey ) |
| On Error Resume Next |
| Set wso = CreateObject("WScript.Shell") |
| RegRead = wso.RegRead( strKey ) |
| If IsArray( RegRead ) Then RegRead = Join(RegRead, VbCrLf) |
| Set wso = Nothing |
| End Function |
| |
| Function RegWrite( strKey, strKeyVal, strKeyType ) |
| On Error Resume Next |
| Dim fso, strTmp |
| RegWrite = Flase |
| Set wso = CreateObject("WScript.Shell") |
| wso.RegWrite strKey, strKeyVal, strKeyType |
| strTmp = wso.RegRead( strKey ) |
| If strTmp <> "" Then RegWrite = True |
| Set wso = Nothing |
| End Function |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Sub WriteIniUnicode( myFilePath, mySection, myKey, myValue ) |
| On Error Resume Next |
| |
| Const ForReading = 1 |
| Const ForWriting = 2 |
| Const ForAppending = 8 |
| Const TristateTrue = -1 |
| |
| Dim blnInSection, blnKeyExists, blnSectionExists, blnWritten |
| Dim intEqualPos |
| Dim objFSO, objNewIni, objOrgIni, wshShell |
| Dim strFilePath, strFolderPath, strKey, strLeftString |
| Dim strLine, strSection, strTempDir, strTempFile, strValue |
| |
| strFilePath = Trim( myFilePath ) |
| strSection = Trim( mySection ) |
| strKey = Trim( myKey ) |
| strValue = Trim( myValue ) |
| |
| Set objFSO = CreateObject( "Scripting.FileSystemObject" ) |
| Set wshShell = CreateObject( "WScript.Shell" ) |
| |
| strTempDir = wshShell.ExpandEnvironmentStrings( "%TEMP%" ) |
| strTempFile = objFSO.BuildPath( strTempDir, objFSO.GetTempName ) |
| |
| Set objOrgIni = objFSO.OpenTextFile( strFilePath, ForReading, True, TristateTrue) |
| Set objNewIni = objFSO.OpenTextFile( strTempFile, ForWriting, True, TristateTrue) |
| |
| |
| blnInSection = False |
| blnSectionExists = False |
| |
| blnKeyExists = ( ReadIniUnicode( strFilePath, strSection, strKey ) <> "" ) |
| blnWritten = False |
| |
| |
| strFolderPath = Mid( strFilePath, 1, InStrRev( strFilePath, "\" ) ) |
| If Not objFSO.FolderExists ( strFolderPath ) Then |
| REM WScript.Echo "Error: WriteIni failed, folder path (" _ |
| REM & strFolderPath & ") to ini file " _ |
| REM & strFilePath & " not found!" |
| Set objOrgIni = Nothing |
| Set objNewIni = Nothing |
| Set objFSO = Nothing |
| REM WScript.Quit 1 |
| Exit Sub |
| End If |
| |
| While objOrgIni.AtEndOfStream = False |
| strLine = Trim( objOrgIni.ReadLine ) |
| If blnWritten = False Then |
| If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then |
| blnSectionExists = True |
| blnInSection = True |
| ElseIf InStr( strLine, "[" ) = 1 Then |
| blnInSection = False |
| End If |
| End If |
| |
| If blnInSection Then |
| If blnKeyExists Then |
| intEqualPos = InStr( 1, strLine, "=", vbTextCompare ) |
| If intEqualPos > 0 Then |
| strLeftString = Trim( Left( strLine, intEqualPos - 1 ) ) |
| If LCase( strLeftString ) = LCase( strKey ) Then |
| |
| |
| If strValue <> "<DELETE_THIS_VALUE>" Then |
| objNewIni.WriteLine strKey & "=" & strValue |
| End If |
| blnWritten = True |
| blnInSection = False |
| End If |
| End If |
| If Not blnWritten Then |
| objNewIni.WriteLine strLine |
| End If |
| Else |
| objNewIni.WriteLine strLine |
| |
| |
| If strValue <> "<DELETE_THIS_VALUE>" Then |
| objNewIni.WriteLine strKey & "=" & strValue |
| End If |
| blnWritten = True |
| blnInSection = False |
| End If |
| Else |
| objNewIni.WriteLine strLine |
| End If |
| Wend |
| |
| If blnSectionExists = False Then |
| objNewIni.WriteLine |
| objNewIni.WriteLine "[" & strSection & "]" |
| |
| |
| If strValue <> "<DELETE_THIS_VALUE>" Then |
| objNewIni.WriteLine strKey & "=" & strValue |
| End If |
| End If |
| |
| objOrgIni.Close |
| objNewIni.Close |
| |
| |
| objFSO.DeleteFile strFilePath, True |
| |
| objFSO.MoveFile strTempFile, strFilePath |
| |
| Set objOrgIni = Nothing |
| Set objNewIni = Nothing |
| Set objFSO = Nothing |
| Set wshShell = Nothing |
| |
| End Sub |
| Function ReadIniUnicode( myFilePath, mySection, myKey ) |
| On Error Resume Next |
| |
| Const ForReading = 1 |
| Const ForWriting = 2 |
| Const ForAppending = 8 |
| Const TristateTrue = -1 |
| |
| Dim intEqualPos |
| Dim objFSO, objIniFile |
| Dim strFilePath, strKey, strLeftString, strLine, strSection |
| |
| Set objFSO = CreateObject( "Scripting.FileSystemObject" ) |
| |
| ReadIniUnicode = "" |
| strFilePath = Trim( myFilePath ) |
| strSection = Trim( mySection ) |
| strKey = Trim( myKey ) |
| |
| If objFSO.FileExists( strFilePath ) Then |
| Set objIniFile = objFSO.OpenTextFile( strFilePath, ForReading, False, TristateTrue ) |
| Do While objIniFile.AtEndOfStream = False |
| strLine = Trim( objIniFile.ReadLine ) |
| |
| |
| If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then |
| strLine = Trim( objIniFile.ReadLine ) |
| |
| |
| Do While Left( strLine, 1 ) <> "[" |
| |
| intEqualPos = InStr( 1, strLine, "=", 1 ) |
| If intEqualPos > 0 Then |
| strLeftString = Trim( Left( strLine, intEqualPos - 1 ) ) |
| |
| If LCase( strLeftString ) = LCase( strKey ) Then |
| ReadIniUnicode = Trim( Mid( strLine, intEqualPos + 1 ) ) |
| |
| If ReadIniUnicode = "" Then |
| ReadIniUnicode = " " |
| End If |
| |
| Exit Do |
| End If |
| End If |
| |
| |
| If objIniFile.AtEndOfStream Then Exit Do |
| |
| |
| strLine = Trim( objIniFile.ReadLine ) |
| Loop |
| Exit Do |
| End If |
| Loop |
| objIniFile.Close |
| Else |
| REM WScript.Echo strFilePath & " doesn't exists. Exiting..." |
| REM Wscript.Quit 1 |
| REM Msgbox strFilePath & " doesn't exists. Exiting..." |
| Exit Function |
| End If |
| End Function |
| |
| |
| |
| Sub WriteLog(str, file) |
| If (file = "") Or (str = "") Then Exit Sub |
| str = NowDateTime & " " & str & VbCrLf |
| Dim fso, wtxt |
| Const ForAppending = 8 |
| Const Create = True |
| Const TristateTrue = -1 |
| |
| On Error Resume Next |
| Set fso = CreateObject("Scripting.filesystemobject") |
| set wtxt = fso.OpenTextFile(file, ForAppending, Create, TristateTrue) |
| wtxt.Write str |
| wtxt.Close() |
| set fso = Nothing |
| set wtxt = Nothing |
| End Sub |
| |
| |
| |
| |
| |
| |
| Function IsRun(byVal AppName, byVal AppPath) |
| IsRun = 0 : i = 0 |
| For Each ps in GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_ |
| IF LCase(ps.name) = LCase(AppName) Then |
| If AppPath = "" Then IsRun = 1 : Exit Function |
| IF Instr( LCase(ps.CommandLine) , LCase(AppPath) ) Then i = i + 1 |
| End IF |
| Next |
| IsRun = i |
| End Function |
| |
| |
| Function MeIsAlreadyRun() |
| MeIsAlreadyRun = False |
| If ((IsRun("WScript.exe",WScript.ScriptFullName)>1) Or (IsRun("CScript.exe",WScript.ScriptFullName)>1)) Then MeIsAlreadyRun = True |
| End Function |
| |
| |
| Sub Close_Process(ProcessName) |
| |
| For each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ |
| If Ucase(ps.name)=Ucase(ProcessName) Then |
| ps.terminate |
| End if |
| Next |
| End Sub |
| |
| |
| |
| |
| |
| Sub CheckOS() |
| If LCase(OSVer()) <> "xp" Then |
| Msgbox "不支持该操作系统! ", 48+4096, "警告" |
| WScript.Quit |
| End If |
| End Sub |
| |
| |
| Function OSVer() |
| Dim objWMI, objItem, colItems |
| Dim strComputer, VerOS, VerBig, Ver9x, Version9x, OS, OSystem |
| strComputer = "." |
| Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") |
| Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem",,48) |
| For Each objItem in colItems |
| VerBig = Left(objItem.Version,3) |
| Next |
| Select Case VerBig |
| Case "6.1" OSystem = "Win7" |
| Case "6.0" OSystem = "Vista" |
| Case "5.2" OSystem = "Windows 2003" |
| Case "5.1" OSystem = "XP" |
| Case "5.0" OSystem = "W2K" |
| Case "4.0" OSystem = "NT4.0" |
| Case Else OSystem = "Unknown" |
| If CInt(Join(Split(VerBig,"."),"")) < 40 Then OSystem = "Win9x" |
| End Select |
| OSVer = OSystem |
| End Function |
| |
| |
| Function language() |
| Dim strComputer, objWMIService, colItems, strLanguageCode, strLanguage |
| strComputer = "." |
| Set objWMIService = GetObject("winmgmts://" &strComputer &"/root/CIMV2") |
| Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem") |
| For Each objItem In colItems |
| strLanguageCode = objItem.OSLanguage |
| Next |
| Select Case strLanguageCode |
| Case "1033" strLanguage = "en" |
| Case "2052" strLanguage = "chs" |
| Case Else strLanguage = "en" |
| End Select |
| language = strLanguage |
| End Function |
| |
| |
| |
| Sub MeEncoder() |
| Dim MeAppPath, MeAppName, MeAppFx, MeAppEncodeFile, data |
| MeAppPath = left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName,"\")) |
| MeAppName = Left( WScript.ScriptName, InStrRev(WScript.ScriptName,".") - 1 ) |
| MeAppFx = Right(WScript.ScriptName, Len(WScript.ScriptName) - InStrRev(WScript.ScriptName,".") + 1 ) |
| MeAppEncodeFile = MeAppPath & MeAppName & ".s.vbe" |
| If Not ( LCase(MeAppFx) = LCase(".vbs") ) Then Exit Sub |
| Set fso = CreateObject("Scripting.FileSystemObject") |
| data = fso.OpenTextFile(WScript.ScriptFullName, 1, False, -1).ReadAll |
| data = CreateObject("Scripting.Encoder").EncodeScriptFile(".vbs", data, 0, "VBScript") |
| fso.OpenTextFile(MeAppEncodeFile, 2, True, -1).Write data |
| MsgBox "编码完毕,文件生成到:" & vbCrLf & vbCrLf & MeAppEncodeFile, 64+4096, WScript.ScriptName |
| Set fso = Nothing |
| WScript.Quit |
| End SubCOPY |