пример коммандного файла, формирующего переменные для года, месяца, дня недели и пр.:

 

@Echo OffFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Day') ^Do Set $Day=%%i&GoTo Day:DayFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Month') ^Do Set $Month=%%i&GoTo Month:MonthFor /F "Tokens=%$Month% Delims=," %%i ^In ("Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь") ^Do Set $MonthName=%%iFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Year') ^Do Set $Year=%%i&GoTo Year:YearFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get DayOfWeek') ^Do Set /A $DayOfWeek=%%i+1&GoTo DayOfWeek:DayOfWeekFor /F "Tokens=%$DayOfWeek% Delims=," %%i ^In ("Воскресенье,Понедельник,Вторник,Среда,Четверг,Пятница,Суббота") ^Do Set $DayOfWeekName=%%iFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get WeekInMonth') ^Do Set $WeekInMonth=%%i&GoTo WeekInMonth:WeekInMonthFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Hour') ^Do Set $Hour=%%i&GoTo Hour:HourFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Minute') ^Do Set $Minute=%%i&GoTo Minute:MinuteFor /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Second') ^Do Set $Second=%%i&GoTo Second:SecondEcho --------------------------------------Echo День         : %$Day%Echo Месяц        : %$MonthName% (%$Month%-й месяц года)Echo Год          : %$Year%Echo --------------------------------------Echo День недели  : %$DayOfWeekName% (%$DayOfWeek%-й день недели)Echo Неделя месяца: %$WeekInMonth%Echo --------------------------------------Echo Часов        : %$Hour%Echo Минут        : %$Minute%Echo Секунд       : %$Second%Echo --------------------------------------pause

коммандный файл делающий архив и обновляющий базу:

@Echo Offrem Формируем переменную дня недели $DayOfWeekrem Нумерация не наша т.е. Воскресенье - 1, Понедельник - 2 .....For /F "Skip=1" %%i In ('WMIC Path Win32_LocalTime Get DayOfWeek') ^Do Set /A $DayOfWeek=%%i+1&GoTo DayOfWeek:DayOfWeekrem меняем диск где записана 1СC:cd "C:\Program Files\1cv81\bin"rem запускаем архивирование, обратите внимание на флаг WA+, теоретически его можно не ставитьrem он отвечает за WIN авторизацию в 1с и установлен по умолчанию. Чтобы не светить пароль rem пользователя, я завел нового пользователя 1С с полными правами и привязал его к авторизацииrem админа, от имени которого выполняем назначенное задание. rem G:\backup - заранее созданная папка для бакапов1cv8.exe CONFIG /S СЕРВЕР_БАЗЫ_ДАННЫХ\БАЗА_ДАННЫХ /WA+ /DumpIB G:\backup\1c_%$DayOfWeek%.dt
rem проверяем на ошибки выполнения после архивирования и пишем лог в g:\BACKUP\1c_err.logrem если архивирование прошло с ошибками, то базу не обновляемif errorlevel 1 (echo %DATE%  BACKUP_ERROR_1 >>g:\BACKUP\1c_err.log
exit)if errorlevel 101 (echo %DATE%  BACKUP_ERROR_101 >>g:\BACKUP\1c_err.log
exit)if errorlevel 0 (echo %DATE% BACKUP_OK >>g:\1cv81\BACKUP\1c_err.log
)rem если ошибок нет - то обновляем базу данных1cv8.exe CONFIG /S СЕРВЕР_БАЗЫ_ДАННЫХ\БАЗА_ДАННЫХ /WA+ /UpdateDBCfg
rem проверяем на ошибки обновленияif errorlevel 1 (echo %DATE% Update_ERROR_1 >>g:\BACKUP\1c_err.log
exit)if errorlevel 101 (echo %DATE%  Update_ERROR_101 >>g:\BACKUP\1c_err.log
exit)if errorlevel 0 (echo %DATE%  Update_OK >>g:\BACKUP\1c_err.log
)