Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Говорящие часы (http://forum.oszone.net/showthread.php?t=297570)

angel_lyucifer 27-03-2015 20:02 2488610

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

: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 2488612

angel_lyucifer, создавайте уж сразу на WSH. Зачем такая кусочно-гнездовая специализация.
Цитата:

Цитата angel_lyucifer
часы адекватно работают только с 10:00 до 23:00, потом с 0:00 до 9:00 не работают то есть время не определяет. »

А Вы проверьте выдачу «%TIME%» в это время:
Код:

echo [%time%]
Внезапно обнаружите пробел перед однозначным значением часов. Или «0».

CyberDaemon 27-03-2015 20:10 2488613

Цитата:

Цитата angel_lyucifer
только с 10:00 до 23:00, потом с 0:00 до 9:00 »

А с 00:00 до 09:00? ;)

angel_lyucifer 27-03-2015 21:50 2488661

Цитата:

Цитата Iska
А Вы проверьте выдачу «%TIME%» в это время: »

Это будет выглядить так 00:00:00:00 то есть такой формат времени мне ненужен.
Цитата:

Цитата Iska
Внезапно обнаружите пробел перед однозначным значением часов. Или «0» »

Это как?

Цитата:

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

Мне нужен только бат файл.

Iska 27-03-2015 23:51 2488708

Цитата:

Цитата angel_lyucifer
Это будет выглядить так 00:00:00:00 »

Проверьте региональные настройки. У меня сейчас это выглядит под Windows 7 так:
Код:

C:\Program Files>echo [%time%]
[ 8:09:01,05]

А у Вас?

Цитата:

Цитата angel_lyucifer
Мне нужен только бат файл. »

А это тогда что:
Цитата:

Цитата angel_lyucifer
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 2488772

Цитата:

Цитата angel_lyucifer
Это как? »

А вот так. У тебя в полночь возвращаемая строка равна "00:00" (либо " 0:00")
Разумеется, результат сравнения этого с "0:00" - ложь.

Foreigner 28-03-2015 11:27 2488779

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

angel_lyucifer 28-03-2015 16:09 2488881

Цитата:

Цитата Foreigner
CyberDaemon »

За подсказку с пробелом спасибо, я уже разодрался теперь все работает! :)


Время: 20:31.

Время: 20:31.
© OSzone.net 2001-