Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


andreton, в задаче не оговорен поиск в подкаталогах, кодировка и размер файлов
VBS-вариант для поиска в подкаталогах и файлов размером много меньше RAM:
Код: Выделить весь код
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = "(?:(^)[\n\r]+|(\r?\n)[\n\r]*)"
objRegEx.IgnoreCase = True
objRegEx.Global = True
'-----------------------------
FileProcByExt "C:\TEST", "TXT"
'-----------------------------
Sub FileProcByExt (strDir, strExt)
  Dim oS, cS, oI, cF

  Set oS = objFSO.GetFolder(strDir)
  Set cS = oS.SubFolders

  On Error Resume Next
  For Each oI In cS
    FileProcByExt oI.Path, strExt
  Next

  Set cF = oS.Files
  For Each oI In cF
    If StrComp(objFSO.GetExtensionName(oI.Path),strExt,1)=0 Then FileProc oI.Path
  Next
End Sub

Sub FileProc (strFile)
  Dim oF, sF

  Set oF = objFSO.OpenTextFile(strFile, 1)
  If oF.AtEndOfStream Then Exit Sub
  sF = oF.ReadAll
  oF.Close

  sF = objRegEx.Replace(sF, "$1$2")
  Set oF = objFSO.OpenTextFile(strFile, 2)
  oF.Write(sF)
  oF.Close
End Sub
P.S. всё-таки специализированные консольные утилиты сделают это быстрее

Отправлено: 09:06, 06-06-2010 | #2