Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: LogParser MSUtil.LogQuery
;---------------------------------------------------------------------------------------------------------------------- ; Example for using LogParser COM interface. ; ; There is a disk related database of about 100 MB size containing 2806 textfiles. ; The content of each textfile has to be sorted for following purposes. ; The Microsoft LogParser utility can do this in a quite effective manner. ; ; This example script needs a real world database which can be downloaded from ; ; http://www.sendspace.com/file/f3ehly ; ; as a 7-zip file of 16 MB size while a limited time of 90 days from now. ; Note: This database is already sorted, but it does not matter for the example. ; ; Detlev Dalitz.20090326. ;---------------------------------------------------------------------------------------------------------------------- sTimeStart = TimeYmdHms () @B = "\" @C = "," @S = "/" @P1 = "{1}" @P2 = "{2}" sTarRootFolder = "K:\MyIndexBase\" ; Change folderpath to your needs. iResult = DirChange (sTarRootFolder) sFreedbDate = "20090301" ; Date of current database. sDBGenresList = "blues,classical,country,data,folk,jazz,misc,newage,reggae,rock,soundtrack,-" sMsgTitle = "Example for using LogParser COM interface" sMsgText = "Sorting disk files ..." WinPlaceSet (@NORMAL, "", "100 150 900 400") BoxOpen (sMsgTitle, sMsgText) ; Use MS Log Parser for sorting. Runs 2x faster than DOS Sort. oLogQuery = ObjectCreate ("MSUtil.LogQuery") oLogQueryIn = ObjectCreate ("MSUtil.LogQuery.TextLineInputFormat") oLogQueryOut = ObjectCreate ("MSUtil.LogQuery.NativeOutputFormat") oLogQueryOut.headers = @FALSE sLogQueryStrMask = StrCat ("SELECT Text INTO '", @P1, "' FROM '", @P1, "' ORDER BY Text ASC") iDBGenresCount = ItemCount (sDBGenresList, @C) sMsgTextMask = StrCat (sMsgText, @LF, "Folder Nr.: ", iDBGenresCount, @S, @P1, @LF, "Folder Name: ", @P2) For iDBGenre = 1 To iDBGenresCount sDBGenre = ItemExtract (iDBGenre, sDBGenresList, @C) sMsgText = StrReplace (StrReplace (sMsgTextMask, @P1, iDBGenre), @P2, sDBGenre) BoxText (sMsgText) sDBGenreFileMask = StrCat (sFreedbDate, @B, sDBGenre, @B, "*.txt") sDBGenreFileList = FileItemize (sDBGenreFileMask) While (sDBGenreFileList != "") sDBGenreFile = ItemExtract (1, sDBGenreFileList, @TAB) sDBGenreFileList = ItemRemove (1, sDBGenreFileList, @TAB) sDBGenreFile = StrReplace (sDBGenreFileMask, "*.txt", sDBGenreFile) iResult = oLogQuery.ExecuteBatch (StrReplace (sLogQueryStrMask, @P1, sDBGenreFile), oLogQueryIn, oLogQueryOut) Terminate (iResult==1, "Terminate: Sorting", StrCat ("Error while Log Parser Sort.", @LF, sDBGenreFile)) EndWhile sMsgText = StrReplace (StrReplace (sMsgTextMask, @P1, iDBGenre), @P2, sDBGenre) BoxText (sMsgText) Next oLogQueryIn = 0 oLogQueryOut = 0 oLogQuery = 0 sMsgText = StrCat (sMsgText, @LF, "Done.") BoxText (sMsgText) sTimeStop = TimeYmdHms () sTimeDiff = TimeDiff (sTimeStop, sTimeStart) sMsgTitle = "Sorting ... done." sMsgText = StrCat ("Start: ", sTimeStart, @LF, "Stop: ", sTimeStop, @LF, "Diff: ", sTimeDiff, @LF, @LF, "Ready.") Message (sMsgTitle, sMsgText) BoxShut () Exit ;----------------------------------------------------------------------------------------------------------------------
Article ID: W18082
Filename: Example for using LogParser COM Interface.txt
File Created: 2009:03:26:08:35:44
Last Updated: 2009:03:26:08:35:44