タグ
  ANSI (1)
  ASP.NET (10)
  Active Directory (55)
  BAT (16)
  Backup (2)
  CSharp (11)
  CentOS (4)
  C言語 (4)
  DNS (4)
  Excel (2)
  FFmpeg (1)
  Fedora (4)
  FreeBSD (6)
  IPv6 (3)
  Java (11)
  JavaScript (8)
  LAN (1)
  Link (4)
  Linux (15)
  Mac (1)
  Mail (2)
  Microsoft (3)
  NIS (1)
  Node.js (6)
  OpenIndiana (1)
  OpenLDAP (2)
  OpenSSL (1)
  OpenSolaris (4)
  PHP (2)
  Perl (2)
  Postfix (1)
  PostgreSQL (2)
  PowerShell (34)
  RFC (3)
  SQL Server (5)
  Solaris (10)
  Ubuntu (9)
  VBScript (73)
  VCpp (2)
  VMware (3)
  Visual Basic (1)
  WMI (17)
  WSF (5)
  WSH (10)
  Windows (19)
  bash (1)
  bind (1)
  iSCSI (1)
  作成中 (8)
  慣用句 (3)
  正規表現 (6)
  運用 (8)
作成 2010.01.07
更新 2010.01.07
VBScript で grep もどき
使い方

フォーマット

cscript grep 検索したい文字列 ファイル名 [-v] [-i]

正規表現も使えますよ

cscript grep 検索したい文字列 ファイル名

文字列を除外

cscript grep 除外したい文字列 ファイル名 -v

大文字小文字無視

cscript grep 検索したい文字列 ファイル名 -i
コード

grep.vbs

Option Explicit
Const ForReading = 1
Dim FSO, myReg
Dim myRead, myLine
Dim strFileName, strPattern
Dim isIgnoreCase, isIgnorePattern
Dim counter
Set FSO = CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.length < 2 Then
  WScript.Echo "Usage: cscript grep.vbs regexp file [-v] [-i]"
  WScript.Quit
End If

isIgnoreCase = False
isIgnorePattern = False
strPattern = ""
strFileName = ""
For counter = 0 To WScript.Arguments.length - 1
  If WScript.Arguments(counter) = "-i" Then
    isIgnoreCase = True
  ElseIf WScript.Arguments(counter) = "-v" Then
    isIgnorePattern = True
  ElseIf Len(strPattern) = 0 Then
    strPattern = WScript.Arguments(counter)
  Else
    strFileName = WScript.Arguments(counter)
  End If
Next

Set myReg = new RegExp
myReg.Pattern = strPattern
myReg.Global = False
myReg.IgnoreCase = isIgnoreCase

If Not FSO.FileExists(strFileName) Then
  WScript.Echo "File not found. '" & strFileName & "'"
End If
Set myRead = FSO.OpenTextFile(strFileName, ForReading)
Do While myRead.AtEndOfStream = False
  myLine = myRead.ReadLine
  If myReg.Test(myLine) Then
    If Not isIgnorePattern Then WScript.Echo myLine
  Else
    If isIgnorePattern Then WScript.Echo myLine
  End If
Loop
myRead.Close
タグ: VBScript
[リロード] [記事修正] [新規作成] [使用方法]
©2004-2012 UPKEN IPv4