Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Tetsu
0 / 0 / 0
Регистрация: 25.11.2015
Сообщений: 4
1

Оптимизация кода пакетного файла для создания бэкапов

25.11.2015, 12:00. Просмотров 355. Ответов 1
Метки нет (Все метки)

Добрый день.
Столкнулся с задачей: требуется оптимизировать создание бэкапов. деление на ежедневные, еженедельные и ежемесячные. Для этого написал 3 скрипта, привожу пример последнего, в нем копирую первую копию из еженедельных и превращаю его в ежемесячный.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
@echo off
net use X: /del /yes
net use X: \\Путь_к_папке\3.month
net use Y: /del /yes
net use Y: \\Путь_к_папке\2.week
copy   Y:\week.copy1.zip X:\ /z
cd /d X:
if not exist month.copy1.zip ren week.copy1.zip month.copy1.zip
if not exist month.copy2.zip ren week.copy1.zip month.copy2.zip
if not exist month.copy3.zip ren week.copy1.zip month.copy3.zip
if not exist month.copy4.zip ren week.copy1.zip month.copy4.zip
if not exist month.copy5.zip ren week.copy1.zip month.copy5.zip
if not exist month.copy6.zip ren week.copy1.zip month.copy6.zip
if not exist month.copy7.zip ren week.copy1.zip month.copy7.zip
if not exist month.copy8.zip ren week.copy1.zip month.copy8.zip
if not exist month.copy9.zip ren week.copy1.zip month.copy9.zip
if not exist month.copy10.zip ren week.copy1.zip month.copy10.zip
if not exist month.copy11.zip ren week.copy1.zip month.copy11.zip
if not exist month.copy12.zip ren week.copy1.zip month.copy12.zip
if exist month.copy12.zip (del month.copy12.zip && ren month.copy11.zip month.copy12.zip && ren month.copy10.zip month.copy11.zip && ren month.copy9.zip month.copy10.zip&& ren month.copy8.zip month.copy9.zip&& ren month.copy7.zip month.copy8.zip&& ren month.copy6.zip month.copy7.zip&& ren month.copy5.zip month.copy6.zip&& ren month.copy4.zip month.copy5.zip&& ren month.copy3.zip month.copy4.zip&& ren month.copy2.zip month.copy3.zip&& ren month.copy1.zip month.copy2.zip&& ren week.copy1.zip month.copy1.zip )
net use X: /del /yes
net use Y: /del /yes
И в принципе он работает, но выглядит как костыль, можно ли его как-то оптимизировать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2015, 12:00
Ответы с готовыми решениями:

Пакетный файл для создания другого пакетного файла, создающего в свою очередь текстовый файл
В университете какое-то сложное задание дали, не могу справиться, уже двое...

Исключить интерактивность из кода пакетного файла
Коллеги, помогите допилить батник, кому не напряжно. Сразу прошу не гнобить за...

Выделить Batch-код из кода гибридного пакетного файла
Вопрос к Koza Nozdri и наверное к Dragokas. Как отсюда @echo off SetLocal...

Можно ли на основе кода пакетного файла создать программу с графическим интерфейсом?
Раньше не обращал внимание на включенную в ОС прогу PowerShell. Сейчас...

Как в коде пакетного файла указать папку для сохранения конечного файла?
@echo off Setlocal EnableDelayedExpansion set /p format=original format: for...

1
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
26.11.2015, 23:08 2
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
 
net use X: /del /yes
net use X: \\Путь_к_папке\3.month
 
net use Y: /del /yes
net use Y: \\Путь_к_папке\2.week
 
copy Y:\week.copy1.zip X:\ /z
 
cd /d X:\
if not exist month.copy12.zip (
 cmd /c "for /l %%i in (1 1 12) do @if not exist month.copy%%i.zip ren week.copy1.zip month.copy%%i.zip& exit/b"
) else (
 del month.copy1.zip
 for /l %%i in (2 1 12) do set /a n=%%i-1& call ren month.copy%%i.zip month.copy%%n%%.zip
 ren week.copy1.zip month.copy12.zip
)
 
net use X: /del /yes
net use Y: /del /yes
 
exit /b
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 23:08

Переделать код пакетного файла для его запуска с аргументами
Здравия желаю, существует такой батник: title create chcp 1251 @echo off ...

Применение оператора IF для сравнения с определёнными строками параметров пакетного файла
Подскажите пожалуйста как записать.... Если %1 равен пустому значению "" , то...

Как в коде пакетного файла скрыть расположение исполняемого файла?
Есть исполняемый файл на диске С, в папке ПрограмФайл, на рабочем столе создан...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru