@echo off :: --- НАСТРОЙКИ --- set "Source=C:\Bases\ssd\Farmtek" set "SMBShare=\\fileserver.mediaprod.ru\public\!Backup\srv1c7\" set "BackupDir=Backups" set "DaysToKeep=30" set "DriveLetter=Z:" set "PathTo7Zip=C:\Program Files\7-Zip\7z.exe" :: --- 1. РАСЧЕТ ТЕКУЩЕЙ ДАТЫ --- set "Y=%date:~-4%" set "M=%date:~-7,2%" set "D=%date:~-10,2%" set "DateStamp=%Y%-%M%-%D%" :: — 2. ЗАКРЫТИЕ 1C ДЛЯ УСПЕШНОЙ АРХИВАЦИИ --- taskkill /F /IM 1cv7.exe :: --- Временное имя архива на локальном диске --- set "LocalZip=C:\1C7BACKUPS\bases\backup_%DateStamp%.zip" :: --- 3. СЖАТИЕ В АРХИВ --- :: "a" - добавить в архив, "-mx5" - нормальное сжатие (можно mx9 для максимального) "%PathTo7Zip%" a -mx5 "%LocalZip%" "%Source%\" :: --- 4. КОПИРОВАНИЕ АРХИВА НА SMB --- copy "%LocalZip%" "%SMBShare%\" :: --- Удаляем временный локальный архив --- del /q "%LocalZip%" :: --- 5. ВРЕМЕННОЕ ПОДКЛЮЧЕНИЕ ДИСКА И ОЧИСТКА СТАРЫХ АРХИВОВ --- net use %DriveLetter% "%SMBShare%\" /persistent:no pushd %DriveLetter% :: --- Ищем именно старые файлы (.zip), а не папки, и удаляем их --- forfiles /P . /M *.zip /D -%DaysToKeep% /C "cmd /c del /q @file" popd :: --- 5. ОТКЛЮЧЕНИЕ СЕТЕВОГО ДИСКА --- net use %DriveLetter% /delete /y