Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] bat бэкап

Ответить
Настройки темы
CMD/BAT - [решено] bat бэкап

Новый участник


Сообщения: 5
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: MisterCron
Дата: 23-02-2021
Добрый день! На данный момент имею вот такой bat скрипт, который запускается несколько раз в сутки и создает бэкап папки "worlds" с названием в формате даты (23.02.2021), если бэкап за данные сутки создан - он не делается. Задача: если бэкап создан - создать бэкап и к текущей дате в конце добавить 1 (23.02.2021 1) и к последующим бэкапам добавлять единицу (23.02.2021 2). Большое спасибо за помощь.

Код: Выделить весь код
set _my_datetime=%date%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=.%
set _my_datetime=%_my_datetime:,=.%


::Вывод на экран и удаление бэкапов старше 3 дней
forfiles /p "backup" /M * /D -3 /C "cmd /c echo @RELPATH - deleted"
forfiles /p "backup" /M * /D -3 /C "cmd /c rd /s /q @path"


::Не создавать бэкап, если он уже существует
if not exist "backup\%_my_datetime%" (
    xcopy "worlds" "backup\%_my_datetime%\" /H /Y /C /R /S
) else (
echo #**The backup has already been created today**#
)

Отправлено: 22:41, 23-02-2021

 

Новый участник


Сообщения: 5
Благодарности: 1

Профиль | Отправить PM | Цитировать


Нашел решение!

Код: Выделить весь код
set _my_datetime=%date%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=.%
set _my_datetime=%_my_datetime:,=.%


::Вывод на экран и удаление бэкапов старше 3 дней
forfiles /p "backup" /M * /D -3 /C "cmd /c echo @RELPATH - deleted"
forfiles /p "backup" /M * /D -3 /C "cmd /c rd /s /q @path"

SetLocal enabledelayedexpansion enableextensions 
set /A count+=1
xcopy "worlds" "backup\%_my_datetime% !count!\" /H /Y /C /R /S
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:25, 23-02-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 26849
Благодарности: 7821

Профиль | Отправить PM | Цитировать


Цитата MisterCron:
Нашел решение! »
MisterCron, а для:
Цитата MisterCron:
к последующим бэкапам добавлять единицу (23.02.2021 2) »
будете писать:
Цитата MisterCron:
Код: Выделить весь код
set /A count+=2
»
?!

Отправлено: 00:04, 24-02-2021 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] bat бэкап

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Bat, который создаёт другой bat с командами на изменение текста mazahaka2000@vk Скриптовые языки администрирования Windows 2 13-06-2015 04:52
2008 R2 - Бэкап Kasper V.I.P.2007 Windows Server 2008/2008 R2 17 29-03-2013 08:39
2008 - бэкап last-77 Windows Server 2008/2008 R2 1 04-08-2010 18:57
VBS/WSH/JS - Бэкап g0dl1ke Скриптовые языки администрирования Windows 4 15-03-2010 23:15
CMD/BAT - [решено] Бэкап через bat khs Скриптовые языки администрирования Windows 1 03-09-2009 08:41




 
Переход