Как в батнике получить день недели? #288003


#0 by Ezhik
Хочу перед автосохранением удалить сейв прошлой недели...
#1 by Андрюха
Два варианта - или написать програмулину, которая будет возвращать через errorlevel или удалять через скрипт VBS (JS), вызываемый из батника.
#2 by Господин ПЖ
rem удаляем ненужные архивы dir /B /O:-D %_backup_dir%%_prefix%*.dt |more +%_arch_num% > %_backup_dir%delete.lst for /F %%f in (%_backup_dir%delete.lst) do del %_backup_dir%%%f del %_backup_dir%delete.lst
#3 by Голодный студент
Хм, а не лучше будет удалять ненужное после автосохранения ?
#4 by Ezhik
delete.lst - это чево такое? У меня сейвы делаются каждый день по одному на базу (их 4), хочу штобы период был - неделя...
#5 by Ezhik
А это типа формируется список файлов..., дак _arch_num как установить??
#6 by Господин ПЖ
Угу, забыл rem укажите количество последних сохраняемых архивов set _arch_num=10
#7 by Ezhik
Все робит спасибо!! вот тока я же говорил што у меня 4 базы... можно ли префиксы списком задать или как вообще сделать??
#8 by DGorgoN
Я Vb скриптом делал..
#9 by Ковычки
[1C] echo off set /a y=%date:~-4% if %date:~3,1%==0 (    set /a m=%date:~4,1%    ) else (    set /a m=%date:~3,2%    ) if %date:~0,1%==0 (    set /a d=%date:~1,1%    ) else (    set /a d=%date:~0,2%    ) if %m% leq 3 (    set /a m=m+10    set /a y=y-1    ) else (    set /a m=m-2    ) set /a c=y/100 set /a y=y%%100 set /a w=((26*m-2)/10+d+y/4+y+c/4-2*c) if %w% leq 0 (    set /a w=0-w    ) set /a w=w%%7 echo %w% [/1C]
#10 by Ezhik
Засунул!!! получил 4!!! видимо 1 это воскресенье???
#11 by Ковычки
нен, касяк гдето... вс = 0, пн = 1 ... суб =6 что то не так, глядим
#12 by Ковычки
[1C] echo off set /a y=%date:~-4% if %date:~3,1%==0 (    set /a m=%date:~4,1%    ) else (    set /a m=%date:~3,2%    ) if %date:~0,1%==0 (    set /a d=%date:~1,1%    ) else (    set /a d=%date:~0,2%    ) if %m% lss 3 (    set /a m=m+10    ) else (    set /a m=m-2    ) if %m% gtr 10 (    set /a y=y-1    ) set /a c=y/100 set /a y=y%%100 set /a w=((26*m-2)/10+(d)+(y)+(y/4)+(c/4)-(2*c)) echo %y% %w% %c% set /a w=(w+777)%%7 if %w%==0 set /a w=7 echo %w% [/1C] Вроде так... 1 ... 7
#13 by Ковычки
Все ухажу - тщеславен )))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С