Цитата: Мне нужно, чтобы батник искал в определённой папке файлы который содержат слово (например, Привет). После того как пройдёт поиск, все файлы содержащие это слово должны скопироваться в отдельную директорию.
могу предложить вариант на windows script host:
Код: ' Codepage 1251
' -------------------------Конец изменяемой части --------------------------------
On Error Resume Next
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
Dim FolderForBack
function FindInFile(AFILE)
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(AFileNameCompilerLog)
strFileContents = objTS.ReadAll
objTS.Close
numWarning = 0
Set objREHint = New RegExp
objREHint.Global = True
objREHint.IgnoreCase = TRUE
objREHint.Pattern = "СТРОКА КОТОРУЮ ИЩЕМ"
Set colMatches = objREHint.Execute(strFileContents)
For Each objMatch In colMatches
numWarning = numWarning +1
Next
FindInFile = numWarning
end function
' *************************************************'
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
WScript.Echo Now
' Выбираем все директории
' этот селект срабатывает достаточно долго было бы хорошо его ускорить
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where FileName Like '%pas'")
For Each objFile in colFiles
Wscript.Echo objFile.Name
if FindInFile(objFile.Name) then
Wscript.Echo "** ЗДЕСЬ ВСЕ ЧТО УГОДНО ****" & objFile.Name
end if
Next
WScript.Echo Now