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

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

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

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


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

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


Куда-то выпилили авторизацию с вк, ну да ладно...
В общем у меня проблема со счетом времени.

Итак вот мой скрипт:

HTML код: Выделить весь код
set fileSHARE=C:\111.txt ::путь к логу ::достаем дату изменения ::@echo off for /f "usebackq delims=" %%I in ('"%fileSHARE%"') do set A=%%~tI echo Last share in %a% set mon=%a:~3,2% ::месяц set D=%a:~0,2% ::день set h=%a:~11,2% ::часы set m=%a:~14,2% ::минуты ::переводим время изменения (часы минуты) в секунды set /a Hs=H*3600 set /a Ms=M*60 ::время изменения в секундах set /a Ts=Hs+Ms @echo off echo ________________ echo hs %Hs% echo ms %ms% echo ts %ts% echo ________________

Теперь я опишу суть ситуации, я перевожу время изменения файла в секунды и (математически) аналогично перевожу реальное время (я не стал расписывать, но работает так же), затем сравниваю эти величины. Так вот, все работает идеально за одним НО. Каждый час в 08 и 09 минут set /a Ms=M*60 равно нулю, КАК ТАК ТО???

Отправлено: 03:11, 21-11-2015

 

Ветеран


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

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


Цитата blacktor:
Каждый час в 08 и 09 минут »
Потому, что числа, начинающиеся на 0 интерпретируются, как восьмеричные числа, а 8 и 9 не могут ими быть.
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:00, 21-11-2015 | #2



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

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


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


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

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


Как всегда меня выручили, спасибо. Я об этом не знал)

Отправлено: 13:10, 21-11-2015 | #3


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


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

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


Georgio, это неверное решение. Если удалять 0, то допустим вместо 10:08, что равно 36480 секунд мы получим 1:8, что неверно сосчитается и получится 4080. Надо разделять часы, даты, месяцы еще больше, до 1 цифры, а потом пользоваться математикой и все перескладывать и переумножать))). Например так:

Цитата:
set now=%DATE: =0% %TIME: =0%
echo Real times is %now%
set mon1=%now:~3,2%
::месяц
set D1=%now:~0,2%
::день
set H11=%now:~11,1%
set H12=%now:~12,1%
::часы
set M11=%now:~14,1%
set M12=%now:~15,1%
::минуты

::переводим текущее время (часы минуты) в секунды
set /a h1=h11*600+h12*60
set /a Hs1=H1*60
set /a m1=m11*10+m12
set /a Ms1=M1*60

::текущее время в секундах
set /a Ts1=Hs1+Ms1

Последний раз редактировалось blacktor, 26-11-2015 в 22:39.


Отправлено: 22:18, 26-11-2015 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Почему Онлайн сканер - Dr.Web, считает считает что сайт nnm.me заражен? monster Хочу все знать 3 02-04-2014 08:08
CMD/BAT - [решено] Батник считает файлы wareface Скриптовые языки администрирования Windows 6 19-06-2013 22:18
C/C++ - прога считает к-во строк AppleSOft Программирование и базы данных 4 13-09-2012 19:59
UserGate - Не считает мой трафик Deman Сетевые технологии 0 08-12-2009 11:23
CMD/BAT - батник который считает файлы LeonanVasia Скриптовые языки администрирования Windows 1 28-09-2009 05:55




 
Переход