Текст пакетного файла:
rem "путь к файлу архива базы"
SET PBACKUP=D:\backup\1Cv8
rem "путь к базе"
SET SOURC=D:\1Cdata\basa
rem "пользователь"
SET USER=admin
rem "пароль"
SET PASSVD=123
tskill *1cv8* /a /v
if exist %PBACKUP%.dt copy %PBACKUP%.dt %PBACKUP%_old.dt
"C:\Program Files (x86)\1cv82\common\1cestart.exe" config /f %SOURC% /N %USER% /P %PASSVD% /DumpIB %PBACKUP%.dt
if %date:~0,2%%date:~3,2% == 0101 copy %PBACKUP%.dt %PBACKUP%%date:~0,2%%date:~3,2%%date:~6,4%.dt
if %date:~0,2%%date:~3,2% == 0107 copy %PBACKUP%.dt %PBACKUP%%date:~0,2%%date:~3,2%%date:~6,4%.dt
Для создания архива файловой базы 8.2 достаточно в принципе прописать одну строчку в пакетном файле:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" config /f %SOURC% /N %USER% /P %PASSVD% /DumpIB %DIRNAME%\%FILENAME%.dt
Для базы клиент-серверной вместо ключа /f используем ключ /s
Такая строка открывает базу в режиме конфигуратор под определенным пользователем и создает архивную копию в указанный каталог. Использую для определения параметров запуска и путей переменные среды, которые определяются вначале пакетного файла. Но можно указать конкретные значения параметров сразу в этой конструкции и запускать .bat файл с одной строкой. Но при этом есть угроза затереть создаваемый перезаписываемый архив при любом сбое.
Поэтому увеличение количества строк в .bat файле обусловлено созданием резервного копирования архива.
Есть две особенности при задании переменных среды:
1.Пакетные файлы не дружат с кириллицей. Пути , пользователь и пароль должны быть прописаны с использованием только английского шрифта и цифр.
2.Между именем переменной среды, знаком равенства и значением переменной не должно быть пробела: PBACKUP=D:\backup\1Cv8
Строка tskill *1cv8* /a /v
- очистка зависших терминальных сессий
Остальные три строки команд предназначены для резервирования архивных копий.
if exist %PBACKUP%.dt copy %PBACKUP%.dt %PBACKUP%_old.dt
– копирует файл с именем 1Cv8.dt в файл с именем 1Cv8_old.dt То есть, сохраняет(перезаписывает) предыдущий архив перед созданием нового.
if %date:~0,2%%date:~3,2% == 0101 copy %PBACKUP%.dt %PBACKUP%%date:~0,2%%date:~3,2%%date:~6,4%.dt
- Если текущая дата равна дате начала года копирует созданный архив в файл с датой в имени файла , например 1Cv801012012.dt , чтобы он хранился в архивной папке и не затирался.
Аналогично конструкция
if %date:~0,2%%date:~3,2% == 0107 copy %PBACKUP%.dt %PBACKUP%%date:~0,2%%date:~3,2%%date:~6,4%.dt
- резервирует копию базы за дату 01.07. каждого года.
При использовании пакетного файла из публикации достаточно в переменных среды указать конкретные данные по вашей базе и каталогу сохранения архива и создать для него удобное для вашего сервера назначенное задание Windows.