Имя пользователя:
Пароль:
 | Правила  

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

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

Аватара для angel_lyucifer

Старожил


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


Конфигурация

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


Изменения
Автор: angel_lyucifer
Дата: 13-03-2016
Изображения
Тип файла: jpg Безымянный.jpg
(263.9 Kb, 19 просмотров)
Всем привет, пишу программу Говорящие часы но возникла проблема с командой FIND. Батник мой записывает в файл данное время а затем команда FIND многократно в цикле проверяет указное значение и если есть совпадения тогда запускается соответствующий времени звуковой скрипт. С 0:00 до 10:00 FIND работает нормально но с 10:00 до 23:00 уже работает не корректно искомая строка одну цифру как будто съедает в результате проверки значение неверное и в целом программа работает неправильно.

Пример
Код: Выделить весь код
:every-15_minutes
Echo.%TIME:~0,-6%>m.txt
FIND "21:45" "m.txt"
if %ERRORLEVEL% == 0 (
start /w wscript.exe "sound\21ch-45_minutes.VBS"
start /w wscript.exe "TIMEOUT-60.VBS"
goto every-15_minutes) else (goto 2200)
:2200
FIND "22:00" "m.txt"
if %ERRORLEVEL% == 0 (
tart /w wscript.exe "sound\22ch.VBS"
start /w wscript.exe "TIMEOUT-60.VBS"
goto every-15_minutes) else (goto 2215)
:2215
start /w wscript.exe "Sleep.VBS"
FIND "22:15" "m.txt"
if %ERRORLEVEL% == 0 (
start /w wscript.exe "sound\22ch-15_minutes.VBS"
start /w wscript.exe "TIMEOUT-60.VBS"
goto every-15_minutes) else (goto 2230)
:2230
start /w wscript.exe "Sleep.VBS"
и т. д.
Вот рисунок с ошибкой.
http://forum.oszone.net/attachment.p...1&d=1457826426
Уже неделю бьюсь над этой проблемой....
Помогите пожалуйста исправить эту ошибку?

-------
Век живи, век учись! =)


Отправлено: 02:35, 13-03-2016

 

Ветеран


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

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


angel_lyucifer, указанные приложения ищут указанную подстроку в указанной строке. Подстрока «2:00» будет найдена и в «2:00», и в «22:00», и в «12:00», и в «bla-bla-bla2:00bla-bla-bla».

Для того, чтобы она была найдена только в «2:00», но не во всех остальных случаях, коллега Foreigner уже во втором сообщении указал, что нужно делать — использовать регулярное выражение. Но Вы как не слышите.

Отправлено: 21:14, 13-03-2016 | #11



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

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


Ветеран


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

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


angel_lyucifer, Еще картинка для понимания

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:24, 13-03-2016 | #12


Аватара для Elven

Ветеран


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

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


Хрень какая, а что мешает через тот же find вместо "7:15" искать " 7:15"? Пробел, конечно, мало кто замечает, но это таки тоже символ. Наконец для полного извращения можно парсить вывод
Код: Выделить весь код
time /t
Ибо в этом случае время выводится в формате hh:mm даже для не двузначных часов, сиречь 2 часа 15 минут ночи будут выглядеть как 02:15.

Последний раз редактировалось Elven, 14-03-2016 в 11:02.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:40, 14-03-2016 | #13


Аватара для angel_lyucifer

Старожил


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

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


Цитата Foreigner:
Еще картинка для понимания »
Спасибо за наглядное пособие, мне очень помогло.
Цитата Elven:
Пробел, конечно, мало кто замечает »
Пробелы, конечно сильно мешают особенно когда они незаметны...

Спасибо все, коллеги.

-------
Век живи, век учись! =)


Отправлено: 18:58, 14-03-2016 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Проблема с командой taskkill potopbl4@vk Microsoft Windows 7 17 10-04-2015 17:03
Интернет - [решено] проблема с командой arp -s Dosmod Microsoft Windows 7 1 07-10-2011 20:19
Доступ - проблема с командой cipher iamgdv Microsoft Windows 2000/XP 0 07-10-2010 15:27
проблема с 'find' (скрипт на shell) romez777 Программирование в *nix 1 20-02-2007 13:12
[решено] Проблема с командой net send Animal Microsoft Windows NT/2000/2003 30 19-09-2004 18:38




 
Переход