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

Аватара пользователя
Wookie-Altai

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

Сообщение Wookie-Altai »

Можно ли вычислить время по схожей с такой схеме -



Код:

Код: Выделить всё

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. Данный скрипт не работает. Помогите сделать рабочий
Аватара пользователя
Iska

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение Iska »

Например, так:


читать дальше »




Код:

Код: Выделить всё

@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
Аватара пользователя
CyberMuesli

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение CyberMuesli »

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



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

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение Iska »

Цитата Iska:



будут проблемы с присвоением «09»
CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках




и 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
Аватара пользователя
Iska

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение Iska »

Цитата Iska:



Да.
CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках




кроме этого, код set /a iMinutes=100%%j %% 100 годен



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

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение CyberMuesli »

Я, конечно, извиняюсь, но почему не по простому?



Код:

Код: Выделить всё

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%
Аватара пользователя
SendMessage

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение SendMessage »

Цитата SendMessage:



Я, конечно, извиняюсь, но почему не по простому?
CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках




дело вкуса

у Вас пробел в часах будет, на этом можно погореть
Аватара пользователя
CyberMuesli

Re: CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках

Сообщение CyberMuesli »

Цитата CyberMuesli:



у Вас пробел в часах будет, на этом можно погореть
CMD/BAT - Расчет времени и вывод часа, минуты, секунды на разных строках




Погореть? Каким образом? Пробелы в начале в числовом выражении не учитываются.

что set /a n=8, что set /a n= 8 - разницы в результате не будет никакой.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»