Скрипт копирования файла со сжатием
Posted On 2021-06-24
@echo on @chcp 65001 CLS cd C:\backup set PATH=%PATH%;%ProgramFiles%\PostgreSQL 1C\12\bin;%ProgramFiles%\7-Zip rem echo %PATH% rem взять время заменить точки на подчеркивание. Нужно, чтобы вместо 0 не было пробела во времени for /f "delims=:, tokens=1,2,3" %%i in ("%time%") do (set t=%%i_%%j_%%k) set t=%t: =0% set datestr=%date:~-4,4%_%date:~-7,2%_%date:~-10,2%_%t% rem echo datestr is %datestr% set NUM_COPY=7 set BASENAME=C:\ROZN\1Cv8.1CD set bkp_dir=D:\bak\ROZN set BACKUP_FILE=ROZN_%datestr%.1cdbak IF NOT EXIST %bkp_dir% MD %bkp_dir% echo F | xcopy /Y /I %BASENAME% %bkp_dir%\%BACKUP_FILE% cd %bkp_dir% 7z a -mx3 -sdel -tzip %bkp_dir%\%BACKUP_FILE%.zip %bkp_dir%\%BACKUP_FILE% rem del %BACKUP_FILE% powershell -executionpolicy bypass -command "Get-ChildItem -Path %bkp_dir% -file | Sort-Object creationtime -Descending | Select-Object -skip %NUM_COPY% | ForEach-Object {Remove-Item $_.FullName}"