Так исторически сложилось, что в нашей компании в качестве почтового сервера используется Kerio Connect.
И так же исторически сложилось, что стоит он на Виндах.
Поскольку мне это хозяйство досталось в наследство, я его изучил, подлатал дыры, подружил его с AD и обновил до последней версии.
Обязательно отдельным постом опишу интеграцию с AD и автоматизацию сего счастья с помощью моего любимого Powershell.
На днях возникла необходимость поднять переписку сотрудника из почтового архива, который велся уже несколько лет.
И я обнаружил вот что:
Оказывается архив сохранялся в отдельные папки для каждого дня. Это создало очевидные проблемы в поиске писем.
Я обратился в Т.П. Kerio за помощью, возможно они реализовали этот функционал, но увы...пришлось писать скрипты.
1. Первое и самое главное понадобится программка Bulk Rename Utility в консольном варианте
2.Второе - скрипт для переименования всех файлов, лично я писал на cmd:
chcp 1251setlocal enabledelayedexpansionset input=d:\archset output=d:\testd:for /f %%i in ('dir /b %input%\') do (cd %input%\%%i\#msgsfor /f %%j in ('dir /b %input%\%%i\#msgs\') do (ren %%j %%i_%%j)set h=%%iIF 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))
Комментариев нет:
Отправить комментарий