|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Резервное копирование файла |
|
CMD/BAT - Резервное копирование файла
|
Новый участник Сообщения: 1 |
Имеется скрипт копирования целой папки c созданием текущей даты для копирования
@Echo Off SetLocal EnableDelayedExpansion :: ЧТО и КУДА копируем, сколько храним :: $OLD - КОЛИЧЕСТВО хранимых архивов Set $SRC=D:\Kadry\data Set $DST=F:\Backup\oks Set $OLD=6 :: Находим текущие день/месяц/год For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2% Set $M=%$M:~-2%&Set $D=%$D:~-2% :: Создаем каталог/делаем архив XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y:~-2%\ :: Ограничиваем количество архивов For /F "Delims=" %%i In ('DIR /B/O:-D/A:D %$DST%\??.??.??') Do ( Set /A $OLD-=1 If !$OLD! LSS 0 RD /S/Q "%$DST%\%%i" ) |
|
Отправлено: 13:08, 13-07-2021 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Это не ответ, это просто решение на powershell. Никаких претензий к cmd, просто мне скучно, а винды под рукой нет...
$SRC = "D:\Kadry\data" $DST = "F:\Backup\oks" $OLD = 6 $filename = "file.name" $archive_name= (get-date -Format yy.MM.dd) (Get-ChildItem -Path $SRC $file).FullName | Compress-Archive -DestinationPath $DST$archive_name.zip while ((Get-ChildItem -Path $DST ??.??.??.zip).Length -gt 6) { (Get-ChildItem -Path $DST ??.??.??.zip | Sort-Object -Property LastWriteTime -Top 1).Delete() } |
Последний раз редактировалось Elven, 13-07-2021 в 17:19. Отправлено: 17:13, 13-07-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата Dozentz:
Слегка упростил код: @Echo Off cls rem Set "$SRC=D:\Kadry\data\*" Set "$SRC=D:\Kadry\data\1.txt" Set "$DST=F:\Backup\oks" Set /A $OLD=6 FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "$ToDay=%%d" &Call Set "$ToDay=%%$ToDay:~6,2%%.%%$ToDay:~4,2%%.%%$ToDay:~2,2%%" XCopy /S/E/D/C/Q "%$SRC%" "%$DST%\%$ToDay%\" FOR /F "usebackq Skip=%$OLD% delims=" %%d IN (`2^>nul Dir "%$DST%\??.??.??" /B /O:-D /A:D`) DO Rd /S /Q "%%d" Pause Exit /B |
|
------- Последний раз редактировалось megaloman, 13-07-2021 в 18:24. Отправлено: 17:37, 13-07-2021 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Резервное копирование | Mays | Windows Server 2008/2008 R2 | 2 | 29-08-2018 21:07 | |
Помогите с двумя скриптами (резервное копирование и копирование с условием) | n_i_x | Программирование в *nix | 3 | 21-06-2015 01:54 | |
CMD/BAT - [решено] резервное копирование с помощью bat-файла | vagner_HATE | Скриптовые языки администрирования Windows | 11 | 23-07-2011 19:50 | |
Debian/Ubuntu - Резервное копирование. | Tankistspb | Общий по Linux | 2 | 25-02-2008 11:56 | |
Резервное копирование!! | Forest_G | Хочу все знать | 2 | 09-06-2006 17:36 |
|