powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Время в CMD файле
18 сообщений из 18, страница 1 из 1
Время в CMD файле
    #39251040
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Как заставить работать данное выражение:
Код: sql
1.
if %TIME%<10 then goto :1 else goto :2


Т.е. необходимо получить следующее, если время меньше 10 часов утра, то выполнять следующее, если больше то следующее.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251044
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
@echo off
setlocal 
for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \ /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
 set "dow=%%D"
 set "month=%%E"
 set "day=%%F"
 set "HH=%%G"
 set "MM=%%H"
 set "SS=%%I"
 set "year=%%J"
)

echo Day of the week: %dow%
echo Day of the month : %day%
echo Month : %month%
echo hour : %HH%
echo minutes : %MM%
echo seconds : %SS%
echo year : %year%
endlocal
pause
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251051
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
@echo off
setlocal 
for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \ /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
 set "dow=%%D"
 set "month=%%E"
 set "day=%%F"
 set "HH=%%G"
 set "MM=%%H"
 set "SS=%%I"
 set "year=%%J"
)

echo Day of the week: %dow%
echo Day of the month : %day%
echo Month : %month%
echo hour : %HH%
echo minutes : %MM%
echo seconds : %SS%
echo year : %year%
endlocal
pause


спасибо, но почему-то при отработке этого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
@echo off
setlocal 
for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \ /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
 set "dow=%%D"
 set "month=%%E"
 set "day=%%F"
 set "HH=%%G"
 set "MM=%%H"
 set "SS=%%I"
 set "year=%%J"
)

echo Day of the week: %dow%
echo Day of the month : %day%
echo Month : %month%
echo hour : %HH%
echo minutes : %MM%
echo seconds : %SS%
echo year : %year%
endlocal
pause
if %HH%<10 then goto :1 else goto :2
:1
winrar a test.dmp d:\logs
:2
exit


вываливается ошибка:
Код: sql
1.
Непредвиденное появление: <.


что делаю неправильно?
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251077
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffuaчто делаю неправильно?
Подход в принципе не верный. Нужно изучить возможности Планировщика задач.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251085
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanSheriffuaчто делаю неправильно?
Подход в принципе не верный. Нужно изучить возможности Планировщика задач.

Планировщик настроен, но нужно реализовать и через cmd
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251086
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffuawadmanпропущено...

Подход в принципе не верный. Нужно изучить возможности Планировщика задач.

Планировщик настроен, но нужно реализовать и через cmd
А смысл делать через cmd, если планировщик настроен уже на 10 часов на запуск батника?
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251091
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanSheriffuaпропущено...


Планировщик настроен, но нужно реализовать и через cmd
А смысл делать через cmd, если планировщик настроен уже на 10 часов на запуск батника?

Смысл объединения задач в один батник, когда время можно определять условием IF
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251105
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffua,

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
set STARTTIME=%TIME%
echo %STARTTIME%
set ENDTIME=10:00:00,000
echo %ENDTIME%
set /A STARTTIME=(1%STARTTIME:~0,2%-100)*360000 + (1%STARTTIME:~3,2%-100)*6000 + (1%STARTTIME:~6,2%-100)*100 + (1%STARTTIME:~9,2%-100)
set /A ENDTIME=(1%ENDTIME:~0,2%-100)*360000 + (1%ENDTIME:~3,2%-100)*6000 + (1%ENDTIME:~6,2%-100)*100 + (1%ENDTIME:~9,2%-100)

rem Если нужное время уже прошло в DURATION будет <0
rem Ну и всякие варианты по проверке, сколько же у нас прошло/осталось через SET /A
set /A DURATION=%ENDTIME%-%STARTTIME%

echo %DURATION%

set CHECK=%DURATION:~0,1%

echo %CHECK%

IF %CHECK%==- GOTO RUN
GOTO DONE

:RUN
echo "10:00:00 уже наступило!!!"
GOTO DONE

:DONE
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251228
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Оригинальное решение, спс.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251237
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffua,

Что тут оригинального? Время переводим в кол-во временных интервалов (часов/минут/секунд etc...) сравниваем с эталоном, смотрим на знак.

P.S. Я не учитываю, что может быть переход через сутки.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251242
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гугл подсказал такое решение

Код: powershell
1.
if "%TIME: =0%" lss "10:00:00,00" goto end
...
Рейтинг: 0 / 0
Время в CMD файле
    #39251291
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граур Станислав,

О! Что-то тут я протупил - решил в лоб. Так намного компактнее, спасибо.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39252013
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граур СтаниславГугл подсказал такое решение

Код: powershell
1.
if "%TIME: =0%" lss "10:00:00,00" goto end



Вчера здесь был и незнал как применить, теперь понял
...
Рейтинг: 0 / 0
Время в CMD файле
    #39255658
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дабы не плодить темы, может кто знает, как реализовать удаление папки за предыдущий день?
Имеем следубщее:
папка c:\1\%tdir%_test, которая необходимо удалять еженочно, применяю такой скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
set d=%date:~0,2%
if %d% lss 10 set d=%d:~-1%
set /a d=%d%-1
set tdir=%d%%date:~2%
if exist %tdir%_test goto DEL_DATE
echo %DATE% в %TIME% операция удаления не будет выполнена, каталога за предыдущий день не существует
exit
:DEL_DATE
rd /q /s c:\1\%tdir%_test
echo %DATE% в %TIME% операция удаления выполнена успешно
exit


работает все нормально только для случая, когда дата больше 10, но также не понятно как реализовать переход месяцев, интервал когда папка создана 30.06.2016, а ее нужно будет удалить 01.07.2016, пока что ничего не придумал.
...
Рейтинг: 0 / 0
Время в CMD файле
    #39255664
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffua,

А сам скрипт ты как запускаешь?
...
Рейтинг: 0 / 0
Время в CMD файле
    #39255676
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

обычным батником через шедулер
...
Рейтинг: 0 / 0
Время в CMD файле
    #39255775
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffua,

Вот один гарячий парень из Индии советует так:

http://www.binbert.com/blog/2010/07/previous-yesterdays-date-in-dos-batch-file/

P.S. Сам не пробовал...
...
Рейтинг: 0 / 0
Время в CMD файле
    #39255820
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterSheriffua,

Вот один гарячий парень из Индии советует так:

http://www.binbert.com/blog/2010/07/previous-yesterdays-date-in-dos-batch-file/

P.S. Сам не пробовал...

спасибо, попробую
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Время в CMD файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]