2015-06-16 3 views
-1

Я работаю над пакетным скриптом для чтения файла журнала из местоположения (для конкретного пользователя)Как выполнить поиск в файлах журналов для определенной строки?

Вводная строка поиска вводится пользователем;

Если строка найдена, скопируйте всю строку в другой текстовый файл.

Ожидаемое:

  • Введите местоположение файла журнала: Путь к лог-файл \ abclog.txt
  • Введите строку поиска: ERROR или ошибки (/ я для нечувствительны)

  • Строки, содержащие ERROR или ошибка копируются в новый текстовый файл.

у меня это до сих пор, как код:

@echo off 
set /p Input=Enter some text: 
echo %Input% findstr "%Input%" < C:/logfile.txt 
if %errorlevel%==0 (echo Found! logged files into newlog.txt 
) else (
echo No matches found) 
+0

Если у вас есть проблемы со сценарием или конкретными вопросами, мы будем рады помочь. Пожалуйста, поймите, что это не фабрика кода, которую вы заказываете, и сообщество служит. –

+0

получил это .. но очень новый для пакетного сценария. Следовательно, запрос .. – john

+0

Итак, ваш LogFile содержит строки ошибок, которые вы надеетесь их поймать? не так ли? – Hackoo

ответ

0

Это то, что вы могли бы выполнять на системах Unix:

tail -F abclog.txt | grep --line-buffered -i ERROR > outputfile.txt 

В пакетном файле в Windows, вы можете сделать:

findstr /i "ERROR" logfile.txt > output.txt 
+0

спасибо за входы! Я смотрю на что-то вроде @echo off set/p Вход = Введите текст: echo% Вход% findstr "% Input%" john

+0

это может быть неправильно, что я написал, но я новичок в этом .. – john

+0

@vortexbx - в то время как это будет работать на * Nix хосты, тег пакетного файла для Windows, поэтому, к сожалению, это не поможет. – SomethingDark

0

Попробуйте что-нибудь подобное :

@echo off 
cls & color 0B 
echo(
Set /p "Location=Enter the file location to perform search> " 
cls & echo(
echo You chose this location "%Location%" 
echo(
set /p "Input=Enter text to search: " 
set ResultFile=ResultFile.txt 
findstr /r /i "%Input%" "%Location%" > %ResultFile% 
if %errorlevel%==0 (cls & Color 0A & echo Found the string "%Input%" into "%Location%" ! 
    ) else (cls & Color 0C & echo No matches found "%Input%" into "%Location%" !) 
Echo Hit any key to open the file "%ResultFile%" ! 
pause>nul 
start %ResultFile% 
Смежные вопросы