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


Т.е. необходимо получить следующее, если время меньше 10 часов утра, то выполнять следующее, если больше то следующее.
...
Рейтинг: 0 / 0
06.06.2016, 10:09
    #39251044
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
Код: 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
06.06.2016, 10:18
    #39251051
Sheriffua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
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
06.06.2016, 10:46
    #39251077
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
Sheriffuaчто делаю неправильно?
Подход в принципе не верный. Нужно изучить возможности Планировщика задач.
...
Рейтинг: 0 / 0
06.06.2016, 10:58
    #39251085
Sheriffua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
wadmanSheriffuaчто делаю неправильно?
Подход в принципе не верный. Нужно изучить возможности Планировщика задач.

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

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

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


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

Смысл объединения задач в один батник, когда время можно определять условием IF
...
Рейтинг: 0 / 0
06.06.2016, 11:30
    #39251105
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
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
06.06.2016, 14:17
    #39251228
Sheriffua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
DarkMaster,

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

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

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

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

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

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



Вчера здесь был и незнал как применить, теперь понял
...
Рейтинг: 0 / 0
14.06.2016, 13:05
    #39255658
Sheriffua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
Дабы не плодить темы, может кто знает, как реализовать удаление папки за предыдущий день?
Имеем следубщее:
папка 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
14.06.2016, 13:14
    #39255664
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время в CMD файле
Sheriffua,

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

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

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

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

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

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

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

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

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


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