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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Открыть файл если есть строка в файле .txt

Ответить
Настройки темы
CMD/BAT - [решено] Открыть файл если есть строка в файле .txt

Новый участник


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

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


Изменения
Автор: denntl
Дата: 17-07-2013
Здравствуйте, перепробовал много разных вариантов. Вобщем есть txt файл, в котором нужно отследить наличие определенной строки, и если она таки существует, открыть файл html.

Пробовал:


findstr /r /c: "Текст строки" E:\17-07-2013.txt >nul && goto C:\Users\Admin\Desktop\file.html

Заранее спасибо.

Отправлено: 14:42, 17-07-2013

 

Ветеран


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

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


Что в реальности в «Текст строки»? Почему «goto», а не «start»?

Отправлено: 17:04, 17-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


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

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


Код: Выделить весь код
findstr /r /c:"^Текст строки$" E:\17-07-2013.txt >nul && start "" notepad C:\Users\Admin\Desktop\file.html
^ и $ символы начала и конца строки, без них будет искать данный кусок в строке
файл откроется в блокноте, без notepad - в браузере по умолчанию
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:09, 17-07-2013 | #3


Новый участник


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

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


Цитата:
Что в реальности в «Текст строки»? Почему «goto», а не «start»?
Текст: "Сделан выбор"

Цитата:
findstr /r /c:"^Текст строки$" E:\17-07-2013.txt >nul && start "" notepad C:\Users\Admin\Desktop\file.html
Попробовал код, вводил в ручную в cmd. Файл не открылся, пробовал без notepad, нужен вызов в браузере.

Последний раз редактировалось denntl, 17-07-2013 в 17:28.


Отправлено: 17:22, 17-07-2013 | #4


Старожил


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

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


Цитата denntl:
Файл не открылся »
Батник и E:\17-07-2013.txt в 866 кодировке? Видимо файл у вас в 1251 кодировке. Если так, то надо подумать.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:44, 17-07-2013 | #5


Новый участник


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

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


Вот что уже вышло:

Прописывая код вручную в cmd (без файла батника), я поставил поиск числа 123 в файле - так заработало. Но при поиске русских слов - не находит.

Файл, который анализируется на наличие слов имеет кодировку ютф-8.

Пересохранил этот самый файл в кодировку 866 - заработало. Но можно ли обойти это пересохранение?

Отправлено: 17:48, 17-07-2013 | #6


Старожил


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

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


denntl, кроме как прогнать файл через iconv (сторонняя утилита) не знаю.
Код: Выделить весь код
iconv -cs -f utf-8 -t cp866 E:\17-07-2013.txt | findstr /c:"Сделан выбор" && start "" C:\Users\Admin\Desktop\file.html
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 17-07-2013 | #7


Новый участник


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

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


Скачал 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"

Отправлено: 19:08, 17-07-2013 | #8


Старожил


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

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


iconv http://rghost.ru/47487041
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:19, 17-07-2013 | #9


Новый участник


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

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


Теперь еще одна интересная задача.

Есть тот же txt файл логов, в котором циклически добавляются строки, типа:

Запуск программы. числоX
Программа числоХ. Число Х
Запуск программы. числоX
Программа числоХ. Число Х
Запуск программы. числоX
Программа числоХ. Число Х

Там где Х - это переменное значение.

Можно ли при появлении Новой строки "Программа числоХ. Число Х" с произвольными значениями Х, копировать эту строку в конец второго файла и открывать его? start "" "C:\Users\Admin\Desktop\file.html"

Нужно так делать в том случае, если файл изменился (добавлись строки), и брать только последнюю строку.

Последний раз редактировалось denntl, 17-07-2013 в 19:38.


Отправлено: 19:27, 17-07-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Открыть файл если есть строка в файле .txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Замена строки в txt файле Сергей_Першин@vk Скриптовые языки администрирования Windows 0 07-06-2012 14:56
CMD/BAT - Замена и добавление числа в txt файле Tsok Скриптовые языки администрирования Windows 0 17-10-2011 17:22
нужно переделать файл doc в файл txt гала Тест-форум 1 15-01-2010 18:53
Как скачать файл с сайта, если есть только POP3? Yewgeniy Хочу все знать 17 16-11-2006 22:51
Неправильная строка 50 в inf файле - Установка unattended w2000 AndrewASB Автоматическая установка Windows 2000/XP/2003 1 30-09-2005 21:19




 
Переход