|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Несколько резервных копий файла с датами в названии |
|
CMD/BAT - [решено] Несколько резервных копий файла с датами в названии
|
Старожил Сообщения: 345 |
Господа, периодически обнуляется файл настроек от приложения autobackup.bak
(относительный путь profile\autobackup.bak). Помогите сделать батник, который бы сохранял копии в этой же папке profile следующим образом: "1. Сохранение 12.06.17.bak" "2. Сохранение 13.06.17.bak" "3. Сохранение 14.06.17.bak" "4. Сохранение 15.06.17.bak" "5. Сохранение 16.06.17.bak" При сохранении 6-ой копии копия бы сохранялась как: "1. Сохранение 17.06.17.bak" и т.д. В итоге бы было всегда 5 копий. Получается, что батник должен заменять самую старую копию на новую. |
|
Отправлено: 15:21, 03-08-2017 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sisin:
Цитата Sisin:
Думаю что отталкиваться надо от этого. PS Ну и стандартно неудобный (с точки зрения зрительного анализа и машинного разбора) подход к именованию файлов: ДД.ММ.ГГГГ, вместо предпочтительного ГГГГММДД, при котором файлы даже зрительно располагаются в порядке возрастания дат. А ваши префиксы 1., 2. и т.д. дополнительно затруднят вам работу. Но понимание этого приходит с опытом (иногда хватает пары дней). |
||
------- Последний раз редактировалось mwz, 03-08-2017 в 17:05. Отправлено: 16:54, 03-08-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Sisin, Не вижу логики в указанном Вами способе нумерации.
Вот решение, где самый старый из указанного количества файл будет под номером 1, а самый новый будет всегда иметь не более максимально-возможного указанного Вами номера, например, 5
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion Set "BoxIn=Z:\Box_In\profile" Set "FileIn=autobackup.bak" Set "BakPrefix= Сохранение " Set "Delim=." Set "BakExt=bak" Set "MDate=??.??.??" Set /A NMax=5 Call :StrDate "Tdate" Set /A iBak=%NMax%-1 FOR /F "usebackq Skip=%iBak% delims=" %%i in (`Dir "%BoxIn%\*%Delim%%BakPrefix%%Mdate%.%BakExt%" /B /T:C /O:-D 2^>nul`) DO Del "%BoxIn%\%%i" Set /A iBak=1 FOR /F "usebackq Tokens=1,* delims=%Delim%" %%i in (`Dir "%BoxIn%\*%Delim%%BakPrefix%%Mdate%.%BakExt%" /B /T:C /O:D 2^>nul`) DO Ren "%BoxIn%\%%i%Delim%%%j" "!iBak!%Delim%%%j" &Set /A iBak+=1 Copy "%BoxIn%\%FileIn%" "%BoxIn%\%iBak%%Delim%%BakPrefix%%Tdate%.%BakExt%" >nul GoTo :Eof :StrDate FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET @Tdate=%%d Set "%~1=%@Tdate:~6,2%.%@Tdate:~4,2%.%@Tdate:~2,2%" GoTo :Eof То есть, если по началу копий вообще нет, получим номер 1, если есть 3 старые копии, новая будет с номером 4. Если есть 5 копий, удалим первую, останутся 2,3,4,5, переименуем их в 1,2,3,4 и новая будет с номером 5 ггггммдд_ччмнссдс_имяфайла, например: 20170612_134558_autobackup.bak |
------- Последний раз редактировалось megaloman, 03-08-2017 в 17:58. Отправлено: 17:40, 03-08-2017 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - bat файл, удаление старых резервных копий | share | Скриптовые языки администрирования Windows | 2 | 23-06-2016 23:00 | |
Разное - [решено] Nokia PS восстановление контактов из резервных копий. | IVa_ | Мобильные ОС, смартфоны и планшеты | 2 | 06-01-2016 20:42 | |
V. 2010 - Создание резервных копий Exchange после развертывания DAG. | Alexchandr | Microsoft Exchange Server | 7 | 03-03-2015 14:51 | |
CMD/BAT - копирование по SHH (psftp) резервных копий | enkil@vk | Скриптовые языки администрирования Windows | 1 | 05-05-2012 16:56 | |
Разное - [статья] Восстановление данных из резервных и теневых копий в Windows 7 | Vadikan | Microsoft Windows 7 | 12 | 06-02-2011 14:46 |
|