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

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

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

Пользователь


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

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


Помогите пожалуйста .
Такая вот задача.

У нас есть текст

Код: Выделить весь код
[start_text] Клавиату́ра — устройство, представляющее собой набор кнопок (клавиш), предназначенных для управления каким-либо устройством или для ввода информации. 
Как правило, кнопки нажимаются пальцами рук. 
Радиосвязь между мышью и приёмным устройством, подключённым к компьютеру, позволила избавиться от недостатков инфракрасной связи, но породила не менее курьезную проблему: поскольку радиус действия этих мышей составлял несколько метров, а организации, как правило, закупали однотипную технику партиями, бывали случаи когда курсором на экране компьютера управляла мышь, расположенная даже на соседнем этаже. 
var=qwerty
var=hard
var=factory
Такие мыши как правило, имеют переключатель, позволяющий выбрать один из двух радиочастотных каналов, в большинстве случаев переход на другой канал снимал проблемы.[end_text]

Изначально для мыши каждый производитель разрабатывал свой собственный метод передачи сигнала. Однако впоследствии для связи стало всё более широко применяться Bluetooth-соединение, это позволило ввести единый стандарт, а также позволило избавиться от приёмного устройства, так как некоторые компьютеры (особенно ноутбуки) уже оснащены Bluetooth-адаптером, и решить проблему идентификации мыши. 
var=vector
var=mesh
var=default
На данный момент (середина 2009 года) Bluetooth-мыши продаются сравнительно недорого (от 30$).
Необходимо вывести в exit.txt все строки в которых содержится var, но только от [start_text] и до [end_text] и больше не выводить.
Заранее спасибо!

Отправлено: 14:46, 18-06-2011

 

Googler


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

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


Код: Выделить весь код
@(SETLOCAL EnableDelayedExpansion
set "TYPE=N"& for /f "usebackq delims=" %%a in ("file.txt") do @(set "$a=%%a"
  if not "!$a!"=="!$a:[start_text]=!" set "TYPE=Y"
  if not "!$a!"=="!$a:[end_text]=!"  set "TYPE=N"
  if not "!$a!"=="!$a:var=!" if "!TYPE!"=="Y" echo !$a!
))>"exit.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 18-06-2011 | #2



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

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


Пользователь


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

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


Спасибо работает

Отправлено: 15:41, 18-06-2011 | #3


Googler


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

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


Цитата Starter1:
Спасибо за прогу :) работает чётко, но столкнулся с проблемой: вместо [start_text] и [end_txt] не могу вставить переменную вот что-то вроде этого

@(SETLOCAL EnableDelayedExpansion
set sp=[start_text]
set sv=[end_text]
set "TYPE=N"& for /f "usebackq delims=" %%a in ("file.txt") do @(set "$a=%%a"
if not "!$a!"=="!$a:!sp!=!" set "TYPE=Y"
if not "!$a!"=="!$a:!sv!=!" set "TYPE=N"
if not "!$a!"=="!$a:var=!" if "!TYPE!"=="Y" echo !$a!
))>"exit.txt"
pause


В общем в выходном файле пусто.
Что делать?
Код: Выделить весь код
@echo off
set sp=[start_text]
set sv=[end_text]
(
SETLOCAL EnableDelayedExpansion
set "TYPE=N"& for /f "usebackq delims=" %%a in ("file.txt") do (set "$a=%%a"
  if not "!$a!"=="!$a:%sp%=!" set "TYPE=Y"
  if not "!$a!"=="!$a:%sv%=!"  set "TYPE=N"
  if not "!$a!"=="!$a:var=!" if "!TYPE!"=="Y" echo !$a!
))>"exit.txt"
P.S. см. 2-ю строку подписи:
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:50, 18-06-2011 | #4


Пользователь


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

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


Спасибо большое ещё раз всё робит удачи вам !

Отправлено: 17:59, 18-06-2011 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
...cannot find the specified path... - перенаправление? semiono Автоматическая установка Windows 2000/XP/2003 1 09-04-2010 01:43
Конференц-связь в интернете: новые возможности выходят за пределы экрана OSZone News Новости информационных технологий 0 25-02-2010 02:30
[решено] find -newer Endy1 Программирование в *nix 2 01-02-2010 16:42
EF Find 5.40 OSZone Software Новости программного обеспечения 0 07-01-2010 15:30
Windows 7 выходит за пределы локального поиска OSZone News Новости и события Microsoft 4 04-12-2008 18:00




 
Переход