![]() |
Открыть файл если есть строка в файле .txt
Здравствуйте, перепробовал много разных вариантов. Вобщем есть txt файл, в котором нужно отследить наличие определенной строки, и если она таки существует, открыть файл html.
Пробовал: findstr /r /c: "Текст строки" E:\17-07-2013.txt >nul && goto C:\Users\Admin\Desktop\file.html Заранее спасибо. |
Что в реальности в «Текст строки»? Почему «goto», а не «start»?
|
Код:
findstr /r /c:"^Текст строки$" E:\17-07-2013.txt >nul && start "" notepad C:\Users\Admin\Desktop\file.html файл откроется в блокноте, без notepad - в браузере по умолчанию |
Цитата:
Цитата:
|
Цитата:
|
Вот что уже вышло:
Прописывая код вручную в cmd (без файла батника), я поставил поиск числа 123 в файле - так заработало. Но при поиске русских слов - не находит. Файл, который анализируется на наличие слов имеет кодировку ютф-8. Пересохранил этот самый файл в кодировку 866 - заработало. Но можно ли обойти это пересохранение? |
denntl, кроме как прогнать файл через iconv (сторонняя утилита) не знаю.
Код:
iconv -cs -f utf-8 -t cp866 E:\17-07-2013.txt | findstr /c:"Сделан выбор" && start "" C:\Users\Admin\Desktop\file.html |
Скачал iconv.dll, переместил в System32, в SysWOW64 ввожу в cmd - не реагирует
Работает: win_iconv -f UTF-8 -t cp866 "E:\17-07-2013.txt" |>nul find /i "Текст строки" && start "" "C:\Users\Admin\Desktop\file.html" |
|
Теперь еще одна интересная задача.
Есть тот же txt файл логов, в котором циклически добавляются строки, типа: Запуск программы. числоX Программа числоХ. Число Х Запуск программы. числоX Программа числоХ. Число Х Запуск программы. числоX Программа числоХ. Число Х Там где Х - это переменное значение. Можно ли при появлении Новой строки "Программа числоХ. Число Х" с произвольными значениями Х, копировать эту строку в конец второго файла и открывать его? start "" "C:\Users\Admin\Desktop\file.html" Нужно так делать в том случае, если файл изменился (добавлись строки), и брать только последнюю строку. |
Цитата:
denntl, можно, если «тот же txt файл логов» не держится постоянно открытым. Но нагрузка будет большая, разве что работать с текстовым файлом как с базой данных или, например, LogParser'ом. Смысл сего действа в чём? |
Уже упростил, спасибо!
|
а как перименовать или переместить файл в котором встретилась искомая строка
|
Время: 18:37. |
Время: 18:37.
© OSzone.net 2001-