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

Bat-файл, который бы удалял все файлы, кроме созданных в начале каждого месяца

26.07.2016, 13:02. Просмотров 456. Ответов 10
Метки bat, cmd (Все метки)

Собственно вопрос в названии темы. Задача стоит в следующем: Есть папка с бекапами баз данных с расширением .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

и так далее.

Надеюсь на скорый ответ

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2016, 13:02
Ответы с готовыми решениями:

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

Удаление всех файлов в папке кроме созданных первого числа каждого месяца
Помогите создать bat/cmd файл, который бы удалял из определенной папки все...

Удалить все файлы, кроме первого, последнего и каждого 10-го между ними
Здравствуйте. Есть список каталогов на одном уровне (имена ПК), там...

Написать bat-файл, который удаляет файлы с расширением .tmp из каталога, указанного через параметр
Ребят, помогите пожалуйста. Нужно написать bat-файл, который удаляет файлы с...

Написать bat-файл, который создает bat-файл, который создает текстовый файл :)
Необходимо составит bat файл, который создаст bat файл и в созданном новом bat...

10
alpap
1382 / 1113 / 360
Регистрация: 26.04.2015
Сообщений: 3,974
27.07.2016, 18:51 #2
Не проще сделать что-то типа такого и запускать через планировщик не реже раза в месяц, допустим в 00.00 1го числа, когда еще нет второго файла с числом 01 в имени, хоть тут это и не важно:
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
set "d=papka"
for /f "delims=" %%a in ('dir/a-d/b "%d%"') do (
 set "fb=%%a"
 cmd/v/c if "!fb:~25,2!"=="01" if not exist "Backup_year" md "Backup_year"& copy/y "%d%\%%a" "Backup_year\%%a"
 del/q "%d%\*"
)
exit
.
0
Tyamich
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 29
01.08.2016, 15:35  [ТС] #3
С этой задачей уже разобрался. Теперь возникла следующая: Нужно написать батник, который в отдельную папку с сервера 1с на файловый сервер будет копировать бекапы на конец текущего/начало следующего месяца
0
alpap
1382 / 1113 / 360
Регистрация: 26.04.2015
Сообщений: 3,974
01.08.2016, 15:56 #4
Tyamich,
Как уже надоело объяснять
Определитесь сначала вот с чем, вы просите написать батник, который будет что-то там проверять - это понятная задача, но теперь поясните, кто (что) будет запускать этот батник и когда и после этого многое встанет на свои места.
0
Hikari
Хитрая блондиночка $)
1451 / 960 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
01.08.2016, 15:58 #5
Цитата Сообщение от Tyamich Посмотреть сообщение
который в отдельную папку с сервера 1с на файловый сервер будет копировать бекапы на конец текущего/начало следующего месяца
А почему сразу не реплицировать после создания бэкапа? Так же удобнее.
1
Tyamich
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 29
01.08.2016, 16:27  [ТС] #6
Цитата Сообщение от alpap Посмотреть сообщение
Tyamich,
Как уже надоело объяснять
Определитесь сначала вот с чем, вы просите написать батник, который будет что-то там проверять - это понятная задача, но теперь поясните, кто (что) будет запускать этот батник и когда и после этого многое встанет на свои места.
Я извиняюсь если туплю, пока не опытный в этом деле. Запускаться батник будет через планировщик заданий windows раз в месяц 1 числа в 4 часа ночи.
0
alpap
1382 / 1113 / 360
Регистрация: 26.04.2015
Сообщений: 3,974
01.08.2016, 17:10 #7
Цитата Сообщение от Tyamich Посмотреть сообщение
раз в месяц 1 числа в 4 часа ночи
ну вот
Цитата Сообщение от Tyamich Посмотреть сообщение
на конец текущего/начало следующего месяца
отталкиваясь от этого вас должен устроить батник, который ищет самый последний по дате создания бэкап, а?

Добавлено через 49 секунд
Поставьте даже для надежности 2го числа.
0
Tyamich
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 29
01.08.2016, 17:12  [ТС] #8
Цитата Сообщение от alpap Посмотреть сообщение
ну вот

отталкиваясь от этого вас должен устроить батник, который ищет самый последний по дате создания бэкап, а?

Добавлено через 49 секунд
Поставьте даже для надежности 2го числа.
ну получается что да. То есть самый последний на кануне запуска выполнения этого батника планировщиком
0
alpap
1382 / 1113 / 360
Регистрация: 26.04.2015
Сообщений: 3,974
01.08.2016, 17:13 #9
код при этом совсем простой:
Windows Batch file
1
2
3
@echo off
dir/a-d/b/o-d/tc "papka"|(set/p x=& call copy "papka\%%x%%" "papka_out\")
exit
.
0
Tyamich
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 29
01.08.2016, 17:22  [ТС] #10
Цитата Сообщение от alpap Посмотреть сообщение
код при этом совсем простой:
Windows Batch file
1
2
3
@echo off
dir/a-d/b/o-d/tc "papka"|(set/p x=& call copy "papka\%%x%%" "papka_out")
exit
.
спасибо )

Для себя что бы хоть немного вникнуть, можете расписать тут dir/a-d/b/o-d/tc "papka"|(set/p x=& call copy "papka\%%x%%" "papka_out") какие ключи какие команды исполняют ? И как я понял вместо papka и papka_out надо вписывать полный путь от папки хранения бекапов на сервере 1С до места копирования на файловом сервере. Я правильно все понял ?
0
alpap
1382 / 1113 / 360
Регистрация: 26.04.2015
Сообщений: 3,974
01.08.2016, 23:54 #11
/a-d/b/o-d/tc - /поиск файлов/вывод имен/сортировка по дате, убыв. даты/конкретно дата создания, (dir /?)
|(set/p x= - вывод первой строки (самый старый (свежий) файл) в переменную %x%
Цитата Сообщение от Tyamich Посмотреть сообщение
вместо papka и papka_out надо вписывать
... - правильно.
0
01.08.2016, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2016, 23:54

Создать bat который выводит номер месяца начиная с текущего и заканчивая концом года
Здравствуйте, помогите решить задачу... Нужно написать батник, который создает...

Командный файл, который компилирует все файлы .asm в поточном каталоге
Добрый день! Помогите пожалуйста составить командный файл, который компилирует...

В каталоге, где находится BAT-файл, посчитать количество текстовых файлов, созданных в 2015 году
Здравствуйте, форумчане! Задали такую задачу:"В каталоге, где находится...


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

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

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