Войти

Показать полную графическую версию : [решено] Говорящие часы


angel_lyucifer
27-03-2015, 20:02
Привет всем. У меня возникла проблема, я создаю не большую программу (Говорящие часы) но столкнулся с одной проблемой часы адекватно работают только с 10:00 до 23:00, потом с 0:00 до 9:00 не работают то есть время не определяет.
Вот мой исходник:

:beginning
ping -n 60 127.0.0.1 > nul
if "%TIME:~0,-6%" == "1:00" start /w wscript.exe "sound\every-hour\1ch.VBS"
if "%TIME:~0,-6%" == "2:00" start /w wscript.exe "sound\every-hour\2ch.VBS"
if "%TIME:~0,-6%" == "3:00" start /w wscript.exe "sound\every-hour\3ch.VBS"
if "%TIME:~0,-6%" == "4:00" start /w wscript.exe "sound\every-hour\4ch.VBS"
if "%TIME:~0,-6%" == "5:00" start /w wscript.exe "sound\every-hour\5ch.VBS"
if "%TIME:~0,-6%" == "6:00" start /w wscript.exe "sound\every-hour\6ch.VBS"
if "%TIME:~0,-6%" == "7:00" start /w wscript.exe "sound\every-hour\7ch.VBS"
if "%TIME:~0,-6%" == "8:00" start /w wscript.exe "sound\every-hour\8ch.VBS"
if "%TIME:~0,-6%" == "9:00" start /w wscript.exe "sound\every-hour\9ch.VBS"
if "%TIME:~0,-6%" == "10:00" start /w wscript.exe "sound\every-hour\10ch.VBS"
if "%TIME:~0,-6%" == "11:00" start /w wscript.exe "sound\every-hour\11ch.VBS"
if "%TIME:~0,-6%" == "12:00" start /w wscript.exe "sound\every-hour\12ch.VBS"
if "%TIME:~0,-6%" == "13:00" start /w wscript.exe "sound\every-hour\13ch.VBS"
if "%TIME:~0,-6%" == "14:00" start /w wscript.exe "sound\every-hour\14ch.VBS"
if "%TIME:~0,-6%" == "15:00" start /w wscript.exe "sound\every-hour\15ch.VBS"
if "%TIME:~0,-6%" == "16:00" start /w wscript.exe "sound\every-hour\16ch.VBS"
if "%TIME:~0,-6%" == "17:00" start /w wscript.exe "sound\every-hour\17ch.VBS"
if "%TIME:~0,-6%" == "18:00" start /w wscript.exe "sound\every-hour\18ch.VBS"
if "%TIME:~0,-6%" == "19:00" start /w wscript.exe "sound\every-hour\19ch.VBS"
if "%TIME:~0,-6%" == "20:00" start /w wscript.exe "sound\every-hour\20ch.VBS"
if "%TIME:~0,-6%" == "21:00" start /w wscript.exe "sound\every-hour\21ch.VBS"
if "%TIME:~0,-6%" == "22:00" start /w wscript.exe "sound\every-hour\22ch.VBS"
if "%TIME:~0,-6%" == "23:00" start /w wscript.exe "sound\every-hour\23ch.VBS"
if "%TIME:~0,-6%" == "0:00" start /w wscript.exe "sound\every-hour\0ch.VBS"
goto beginning

этот исходник должен каждый час запускать определенный звуковой скрипт но ночью с ноля уже не срабатывает.
Помогите пожалуйста исправить мою ошибку?

Iska
27-03-2015, 20:09
angel_lyucifer, создавайте уж сразу на WSH. Зачем такая кусочно-гнездовая специализация.часы адекватно работают только с 10:00 до 23:00, потом с 0:00 до 9:00 не работают то есть время не определяет. »
А Вы проверьте выдачу «%TIME%» в это время:
echo [%time%]
Внезапно обнаружите пробел перед однозначным значением часов. Или «0».

CyberDaemon
27-03-2015, 20:10
только с 10:00 до 23:00, потом с 0:00 до 9:00 »
А с 00:00 до 09:00? ;)

angel_lyucifer
27-03-2015, 21:50
А Вы проверьте выдачу «%TIME%» в это время: »
Это будет выглядить так 00:00:00:00 то есть такой формат времени мне ненужен.Внезапно обнаружите пробел перед однозначным значением часов. Или «0» »
Это как?

создавайте уж сразу на WSH. Зачем такая кусочно-гнездовая специализация. »
Мне нужен только бат файл.

Iska
27-03-2015, 23:51
Это будет выглядить так 00:00:00:00 »
Проверьте региональные настройки. У меня сейчас это выглядит под Windows 7 так:
C:\Program Files>echo [%time%]
[ 8:09:01,05]
А у Вас?

Мне нужен только бат файл. »
А это тогда что:
if "%TIME:~0,-6%" == "1:00" start /w wscript.exe "sound\every-hour\1ch.VBS"
if "%TIME:~0,-6%" == "2:00" start /w wscript.exe "sound\every-hour\2ch.VBS"
if "%TIME:~0,-6%" == "3:00" start /w wscript.exe "sound\every-hour\3ch.VBS" »
?!

CyberDaemon
28-03-2015, 10:37
Это как? »
А вот так. У тебя в полночь возвращаемая строка равна "00:00" (либо " 0:00")
Разумеется, результат сравнения этого с "0:00" - ложь.

Foreigner
28-03-2015, 11:27
angel_lyucifer, Зачем пинговать 127.1 60x24x365 раз? Не лучше создать задание, которое будет выполняться каждый час?

angel_lyucifer
28-03-2015, 16:09
CyberDaemon »
За подсказку с пробелом спасибо, я уже разодрался теперь все работает! :)




© OSzone.net 2001-2012