Войти

Показать полную графическую версию : заархивировать файлы в архивы с форматом имени ММГГГГ


Fatall_Error
04-06-2016, 19:41
Помогите написать BAT файл , Есть папка к примеру С:\Vers\ Вней порядка 100 000 000 000 xml файлов возвростом от сейчас и до 10 лет, надо заархивировать файлы в архивы с форматом имени ММГГГГ где мм это месяц гггг это год, формировать архивы надо по дате создания файла, а файлы нестарше 90 дней архивировать ненадо. Все файлы которые заархивировались , очистит

megaloman
04-06-2016, 21:06
Если устроит по дате изменения (с 2000 по 2020 годы), то:@Echo off
cls

Set "InBox=Z:\Vers"
Set "OutBox=Z:\Vers"
Set "Mask=*.xml"

Set "Arc=C:\Program Files\WinRAR\WinRAR.exe"

SetLocal EnableExtensions EnableDelayedExpansion

Pushd "%InBox%"

FOR /L %%g IN (200000,100,202000) DO (
FOR /L %%m IN (1,1,12) DO (
Set /A Name=%%g+%%m
Set /A Last=!Name!+1
If %%m==12 Set /A Last=!Last!-12+100
rem "%Arc%" a -df -IBCK -tb!Last!000000 "%OutBox%\!Name!" "%Mask%"
"%Arc%" a -df -tb!Last!000000 "%OutBox%\!Name!" "%Mask%"
)
)
Архивы именовал в формате ггггмм, так как их можно логично сортировать по имени по возрастанию (убыванию) дат, формат ммгггг в этом смысле не удобен, но нет проблем сделать и так. Уточните, где у Вас расположен архиватор.

Fatall_Error
06-06-2016, 13:56
Спасибо за помощь




© OSzone.net 2001-2012