DisplayLineNumber = False ExactMatch = False IgnoreCase = True Set oFSO = CreateObject("Scripting.FileSystemObject") if WScript.Arguments.Count = 0 Then Wscript.StdOut.Writeline "Incorrect arguments. syntax: egrepSave bat file in a folder present in path variable[filename] [-n] [-x] [-cs]" Wscript.StdOut.Writeline "-n : Display Line Number" Wscript.StdOut.Writeline "-x : Exact Match" Wscript.StdOut.Writeline "-cs : Case Sensitive. By Default it ignore Case" Wscript.StdOut.Writeline "Example: egrep @ EULA.txt" & vbNewLine & "Example: egrep /b.*@gmail.com EULA.txt -n -x -cs" & vbnewline & "Example: ipconfig | egrep ""IP Add""" Wscript.Quit Else Pattern = WScript.Arguments.item(0) if WScript.Arguments.Count => 2 Then FileName = WScript.Arguments.item(1) if oFSO.FileExists(FileName) Then Set oInputStream = oFSO.OpenTextFile(FileName,1) Else Set oInputStream = Wscript.Stdin End if Else Set oInputStream = Wscript.Stdin End if For i = 0 to (WScript.Arguments.Count - 1) Select Case Lcase(WScript.Arguments.item(i)) Case "-n" DisplayLineNumber = True Case "-x" ExactMatch = True Case "-cs" IgnoreCase = False Case Else End Select Next End if Dim StrLine, LineCount if Pattern = "*" Then : Pattern = ".*" : End If Set oRegX = New RegExp oRegX.Pattern = Pattern oRegX.IgnoreCase = IgnoreCase oRegX.Global = True LineCount = 0 Do Until oInputStream.AtEndOfStream StrLine = oInputStream.ReadLine TextToPrint = "" LineCount = LineCount + 1 Set oMatches = oRegX.Execute(StrLine) if oRegX.Test(StrLine) Then Set oMatches = oRegX.Execute(StrLine) if ExactMatch then For each oMatch in oMatches TextToPrint = TextToPrint & oMatch.Value Next else TextToPrint = StrLine end if If DisplayLineNumber Then TextToPrint = LineCount & "::" & TextToPrint End if Wscript.StdOut.WriteLine TextToPrint End if Loop '================ BAT =============== @echo off Set CurrentDirectory=%~dp0 cscript //nologo %CurrentDirectory%egrepvbs.vbs %1 %2 %3 %4
Tuesday, May 22, 2012
vbscript gerp utility
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment