|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Bat, который бы удалял все файлы, кроме созданных в начале каждого месяца. |
|
|
CMD/BAT - Bat, который бы удалял все файлы, кроме созданных в начале каждого месяца.
|
![]() Пользователь Сообщения: 56 |
Собственно вопрос в названии темы. Задача стоит в следующем: Есть папка с бекапами баз данных с расширением .bak. Бэкапы создаются каждый день. Нужно сделать батник, который бы удалял все файлы бекапов, кроме тех, которые были созданы в начале каждого месяца. То есть получается что в идеале должно быть так:
test_perf_backup_2016_07_01_165828_9451226.bak test_perf_backup_2016_08_01_164426_7481004.bak test_perf_backup_2016_09_01_033412_2902899.bak и так далее. Надеюсь на скорый ответ ![]() |
|
Отправлено: 12:37, 26-07-2016 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать @echo off SetLocal EnableDelayedExpansion Set "DBak=Z:\Tralala\" Set "Pref=test_perf_backup" Set "Ext=bak" FOR /L %%Y IN (2000,1,2100) DO ( If Exist "%DBak%%Pref%_%%Y_*.%Ext%" ( FOR /L %%M IN (101,1,112) DO ( Set MM=%%M & Set MM=!MM:~1,2! If Exist "%DBak%%Pref%_%%Y_!MM!_??_*.%Ext%" ( FOR /F "usebackq skip=1 delims=" %%f IN (`Dir "%DBak%%Pref%_%%Y_!MM!_??_*.%Ext%" /A:-D /B /O:N 2^>nul`) DO Del "%DBak%%%f" ) ) ) ) ![]() |
------- Последний раз редактировалось megaloman, 26-07-2016 в 18:20. Отправлено: 18:13, 26-07-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 56
|
Профиль | Отправить PM | Цитировать Спасибо добрый человек и долгих лет тебе жизни
![]() |
Отправлено: 09:47, 27-07-2016 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Не проще сделать что-то типа такого и запускать через планировщик не реже раза в месяц, допустим в 00.00 1го числа, когда еще нет второго файла с числом 01 в имени, хоть тут это и не важно:
. |
Отправлено: 01:22, 28-07-2016 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать alpap, а если по какой-либо причине первый бэкап месяца был сделан второго числа?
|
|
------- Отправлено: 08:21, 28-07-2016 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата alpap:
|
||
Отправлено: 08:37, 28-07-2016 | #6 |
![]() Пользователь Сообщения: 56
|
Профиль | Отправить PM | Цитировать Добрые люди, тут еще нужно батник один написать. Условие такое:
Создать батник, который на отдельную папку файлового сервера (SERVER) с сервера 1с ( 1CSRV) будет копировать только те бекапы БД , которые создаются на конец текущего/начало след. месяца (29-2 числа, с условием того, если бекап за 29 число не был сделан или найден, тогда на файловый сервер копируется бекап сделанный на следующий день). То есть сделать так что бы за этот промежуток времени с 29 по 2 число был скопирован только один бекап, просто с условием того что если не будет найден бекап за 29 число батник будет искать созданные на более поздние числа но не позднее 2 числа |
Отправлено: 10:09, 29-07-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Tyamich, меня терзают смутные сомнения — не проще ли будет реализовать копирование сразу в момент создания бэкапа в том же задании?
|
Отправлено: 12:59, 29-07-2016 | #8 |
![]() Пользователь Сообщения: 56
|
Профиль | Отправить PM | Цитировать Iska так было бы еще лучше. Можешь написать ?
|
Отправлено: 14:35, 29-07-2016 | #9 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Tyamich, Какой смысл в 29 числе? Почему не последний бэкап месяца? С февралём Вы явно с 29 числом пролетаете. И, кстати, я бы сразу зарарил бы этот бэкап.
|
------- Отправлено: 16:12, 29-07-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удалить все файлы кроме | kas1m | Скриптовые языки администрирования Windows | 21 | 06-09-2024 19:42 | |
CMD/BAT - [решено] создать bat, который бы включал программу(либо вызывал её) и нажимал кнопку ENter | argyman123 | Скриптовые языки администрирования Windows | 13 | 26-07-2016 12:18 | |
Любой язык - [решено] Скрипт, который бы удалял во всех файлах из папки, кроме самого vbs скрипта, | n5320 | Скриптовые языки администрирования Windows | 15 | 06-02-2015 17:43 | |
CMD/BAT - bat файл который бы запускался на рабочей станции и копировал измененные файлы | dramkos | Скриптовые языки администрирования Windows | 1 | 01-08-2014 05:53 | |
CMD/BAT - чтобы батник автоматически удалял бы все подкаталоги, размер которых | makc2364 | Скриптовые языки администрирования Windows | 1 | 19-12-2011 12:09 |
|