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

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

Ответить
Настройки темы
CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

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


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

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


Можно ли вычислить время по схожей с такой схеме -
Код: Выделить весь код
for /f "tokens=1,2* delims=." %%I in ('echo %...%') do set /a hor=%%I& set /a min=%%J& set /a sec=%%K
@echo hor
@echo min
@echo sec
pause
Вместо многоточия - time. Данный скрипт не работает. Помогите сделать рабочий

Отправлено: 09:22, 04-06-2012

 

Ветеран


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

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


Например, так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "tokens=1-3 delims=:." %%i in ('echo %time%') do (
	set /a iHours=%%i
	set /a iMinutes=%%j
	set /a iSeconds=%%k
)

if defined iHours echo %iHours%
if defined iMinutes echo %iMinutes%
if defined iSeconds echo %iSeconds%

endlocal
exit /b 0

Последний раз редактировалось Iska, 04-06-2012 в 11:53. Причина: Код не годен

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

Отправлено: 10:28, 04-06-2012 | #2



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

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


Ветеран


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

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


Wookie-Altai, зря отметили, снимите благодарность. Я вспомнил, что с «set /a» не всё так просто: будут проблемы с присвоением «09».

Поищите по разделу, корректные примеры были.

Отправлено: 11:53, 04-06-2012 | #3


Аватара для CyberMuesli

Старожил


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

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


Цитата Iska:
будут проблемы с присвоением «09» »
и 08 тоже инвалидная цифра в восьмеричной системе

Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "tokens=1-3 delims=:. " %%i in ('echo %time%') do (
	set /a iHours=100%%i %%100
	set /a iMinutes=100%%j %% 100
	set /a iSeconds=100%%k %% 100
)

if defined iHours echo %iHours%
if defined iMinutes echo %iMinutes%
if defined iSeconds echo %iSeconds%

endlocal
exit /b 0

-------
Кибер Мюсли


Последний раз редактировалось CyberMuesli, 06-06-2012 в 01:18. Причина: к : и . добавлен еще один разделитель - пробел


Отправлено: 02:10, 05-06-2012 | #4


Ветеран


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

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


Цитата CyberMuesli:
и 08 тоже инвалидная цифра в восьмеричной системе »
Да.

Отправлено: 02:38, 05-06-2012 | #5


Аватара для CyberMuesli

Старожил


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

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


Цитата Iska:
Да. »
кроме этого, код set /a iMinutes=100%%j %% 100 годен

нет, не годен. он нули отсекает, а не пробелы. Код поправлен - добавлен разделитель пробел

-------
Кибер Мюсли


Последний раз редактировалось CyberMuesli, 06-06-2012 в 01:17.


Отправлено: 04:10, 05-06-2012 | #6


Старожил


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

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


Я, конечно, извиняюсь, но почему не по простому?
Код: Выделить весь код
set nTime=%time%
set /a Hours=%nTime:~,2%
set /a Minutes=1%nTime:~3,2%-100
set /a Seconds=1%nTime:~6,2%-100

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

Отправлено: 17:00, 06-06-2012 | #7


Аватара для CyberMuesli

Старожил


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

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


Цитата SendMessage:
Я, конечно, извиняюсь, но почему не по простому? »
дело вкуса
у Вас пробел в часах будет, на этом можно погореть

-------
Кибер Мюсли

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

Отправлено: 01:32, 07-06-2012 | #8


Старожил


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

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


Цитата CyberMuesli:
у Вас пробел в часах будет, на этом можно погореть »
Погореть? Каким образом? Пробелы в начале в числовом выражении не учитываются.
что set /a n=8, что set /a n= 8 - разницы в результате не будет никакой.

Отправлено: 12:52, 07-06-2012 | #9


Ветеран


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

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


А здесь:
Цитата SendMessage:
Код: Выделить весь код
set /a Seconds=1%nTime:~6,2%-100
»
?

Отправлено: 14:16, 07-06-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление пробелов справа в строках в файле (rtrim) dimas_xp Скриптовые языки администрирования Windows 2 04-06-2010 09:33
Форматированный вывод даты и времени, БД mssql zvezda_t Вебмастеру 7 10-02-2010 21:18
[решено] Что такое "Вывод времени ядра"? Moandor Хочу все знать 6 16-01-2010 15:15
Интерфейс - [решено] Windows XP sp3 автозавершене в строках ввода Dis74 Microsoft Windows 2000/XP 1 10-01-2009 09:24
как произвесит расчет времени выполнения скрипта Vlad Drakula Вебмастеру 1 10-12-2003 00:05




 
Переход