понедельник, 9 февраля 2015 г.

Группировка архива Kerio Connect



Так исторически сложилось, что в нашей компании в качестве почтового сервера используется Kerio Connect.

И так же исторически сложилось, что стоит он на Виндах.

Поскольку мне это хозяйство досталось в наследство, я его изучил, подлатал дыры, подружил его с AD и обновил до последней версии.

Обязательно отдельным постом опишу интеграцию с AD и автоматизацию сего счастья с помощью моего любимого Powershell.

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

И я обнаружил вот что:


Оказывается архив сохранялся в отдельные папки для каждого дня. Это создало очевидные проблемы в поиске писем.

Я обратился в Т.П. Kerio за помощью, возможно они реализовали этот функционал, но увы...пришлось писать скрипты.


1. Первое и самое главное понадобится программка Bulk Rename Utility в консольном варианте

2.Второе - скрипт для переименования всех файлов, лично  я писал на cmd:

chcp 1251
setlocal enabledelayedexpansion
set input=d:\arch
set output=d:\test
d:
for /f %%i in ('dir /b %input%\') do (
cd %input%\%%i\#msgs
for /f %%j in ('dir /b %input%\%%i\#msgs\') do (
ren %%j %%i_%%j
)
set h=%%i
IF NOT EXIST "%output%\!h:~0,4!\!h:~0,8!\#msgs" ( mkdir %output%\!h:~0,4!\!h:~0,8!\#msgs )
move %input%\%%i\#msgs\* %output%\!h:~0,4!\!h:~0,8!\#msgs\
)
for /f %%k in ('dir /b %output%\') do (
for /f %%l in ('dir /b %output%\%%k') do (
IF NOT EXIST %output%\%%k\%%l\#assoc ( mkdir %output%\%%k\%%l\#assoc )
IF NOT EXIST %output%\%%k\%%l\index.fld ( type NUL > %output%\%%k\%%l\index.fld )
IF NOT EXIST %output%\%%k\%%l\properties.fld ( type NUL > %output%\%%k\%%l\properties.fld )
IF NOT EXIST %output%\%%k\%%l\status.fld (  type NUL > %output%\%%k\%%l\status.fld )
D:\test\BRC_Unicode_64\BRC64.exe /DIR:%output%\%%k\%%l\#msgs /SORTBY:n /REMOVENAME /AUTONUMBER:1:1:S::12:8 /EXECUTE
)

Комментариев нет:

Отправить комментарий