Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- SETLOCAL ENABLEDELAYEDEXPANSION
- REM Ensure ProcMon (http://live.sysinternals.com/ProcMon.exe) is
- REM available to batch file
- REM Configure as necessary
- REM MAXLOGS = the maximum number of logs to create. Once this number is reached
- REM the log number will reset to 1 and start overwriting old logs
- REM LOGLENGTHMILLISECONDS = 300000 = 5 minutes
- SET LOGPATH=C:\ProcMon
- SET MAXLOGs=5
- SET LOGLENGTHMILLISECONDS=10000
- rem create _zipIt.vbs
- echo Set objArgs = WScript.Arguments > _zipIt.vbs
- echo InputFolder = objArgs(0) >> _zipIt.vbs
- echo ZipFile = objArgs(1) >> _zipIt.vbs
- echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) >> _zipIt.vbs
- echo Set objShell = CreateObject("Shell.Application") >> _zipIt.vbs
- echo Set source = objShell.NameSpace(InputFolder).Items >> _zipIt.vbs
- echo objShell.NameSpace(ZipFile).CopyHere(source) >> _zipIt.vbs
- echo wScript.Sleep 2000 >> _zipIt.vbs
- REM Create logpath if it doesn't exist
- IF NOT EXIST "!LOGPATH!" MD "!LOGPATH!"
- SET COUNTER=0
- :LOOP
- SET /A COUNTER=!COUNTER!+1
- IF !COUNTER! GTR !MAXLOGS! SET COUNTER=1
- IF EXIST "!LOGPATH!\LOGFILE_!COUNTER!.zip" del "!LOGPATH!\LOGFILE_!COUNTER!.zip" /f /q
- start ProcMon /BackingFile "!LOGPATH!\LOGFILE_!COUNTER!.PML" /AcceptEula /Minimized /Quiet
- echo Waiting for !LOGLENGTHMILLISECONDS! ms
- ping 1.1.1.1 -n 1 -w !LOGLENGTHMILLISECONDS!
- ProcMon /Terminate
- set TEMPDIR=!LOGPATH!\LOGFILE_!COUNTER!
- rmdir !TEMPDIR!
- mkdir !TEMPDIR!
- copy /y "!LOGPATH!\LOGFILE_!COUNTER!.PML" !TEMPDIR!
- del "!LOGPATH!\LOGFILE_!COUNTER!.PML" /f /q
- CScript _zipIt.vbs !TEMPDIR! !LOGPATH!\LOGFILE_!COUNTER!.zip
- rmdir /s /q !TEMPDIR!
- GOTO :LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement