У меня есть текстовый файл (sample.txt), который имеет почти 500 строк, и у меня есть папка (пакет), которая имеет много подпапок со многими файлы разных типов файлов (.xml, .cpp, .hpp, несколько больше).командный файл, который ищет строки в текстовом файле внутри всех файлов в папках/подпапках
Sample.txt выглядит
gi_70_1
IF_MNE_70F_BLACK
Backserver
Type_Gradient
Area_round
мне нужно искать эти строки во всех файлах в папке «пакета» и напечатать путь, где он находится в Result.txt
Вот что мне удалось до сих пор
@echo off
set RESULT_FILE="result.txt"
for /F %%i in (sample.txt) do (
pushd %~p0
type NUL > %RESULT_FILE%.tmp
for /f "delims=" %%a in ('dir /B /S *.txt') do (
for /f "tokens=3 delims=:" %%c in ('find /i /c "%%i" "%%a"') do (
for /f "tokens=*" %%f in ('find /i "%%i" "%%a"') do if %%c neq 0 echo %%f
)
) >> "%RESULT_FILE%".tmp
move %RESULT_FILE%.tmp %RESULT_FILE% >nul 2>&1
)
:: Open the file
"%RESULT_FILE%"
popd
Но это печатает только имя строки поиска, которые найдены и что слишком последний поиск строки, а не все.
Может кто-нибудь помочь мне с этим
Вы можете попробовать что-то подобное, что на данный момент = => [Local_Search_Engine.bat] (http://pastebin.com/ADdjPEfH) – Hackoo