VB 스크립트 - 특정 프로세스로 실행되는 프로그램 (창 이름) Etc.2013. 2. 20. 20:21
VBS VB Script VB 스크립트
특정 프로세스로 실행되는 프로그램 목록을 텍스트 파일로 찍는 스크립트입니다. 텍스트 파일에 프로세스 이름, PID 및 창 제목을 기록합니다. 사실, 창 제목(프로세스에 파라미터를 달고 실행되는 애플리케이션)을 보고 프로세스의 실행 상태를 모니터링하기 위해 사용하였던 스크립트입니다.
'==========================================================
'Configuration - Host Process Name, Log File
'==========================================================
sProcess = "notepad.exe"
sLogDir = "C:\Dimensiondata\"
sLogFile = "NOTEPAD.Log"
'==========================================================
'Check/Create Log Directory
Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FolderExists(sLogDir) Then
Else
oFSO.CreateFolder sLogDir
End If
'Check/Create Log File
If oFSO.FileExists(sLogDir&sLogFile) Then
Else
oFSO.CreateTextFile sLogDir&sLogFile
End If
'Run Tasklist Command and then Write Result to the Log File
Set LogFile = oFSO.OpenTextFile(sLogDir&sLogFile,2)
sCmd = "cmd /c Tasklist /FO CSV /V /FI "&chr(34)&"ImageName eq "&sProcess&chr(34)&" | Findstr /I "&chr(34)&sProcess&chr(34)
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec(sCmd)
LogFile.Write "ProcessName|PID|WindowName"&vbCRLF
tmp = 0
Do While Not objExecObject.StdOut.AtEndOfStream
sLine = objExecObject.StdOut.ReadLine
tmpLine = Split(sLine,chr(34))
LogFile.Write tmpLine(1)&"|"&tmpLine(3)&"|"&tmpLine(17)&vbCRLF
Loop
LogFile.Close
Set oFSO = Nothing
Set objExecObject = Nothing
Set objShell = Nothing