Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Архивирование в ARJ (http://forum.oszone.net/showthread.php?t=161520)

Sarus 26-12-2009 13:07 1304646

Архивирование в ARJ
 
Написал батник вот такого плана:
Код:

@echo off
Title Формирование RSB архива.
Set Gni=6911
Set Scr=D:\Temp\RSB\Work
Set Dst=D:\Temp\RSB\Archive
Set Lg=D:\Temp\RSB\Log
For /F "Tokens=1 Delims=+- " %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set Stamp=%%i
Set vDate=%Stamp:~6,2%.%Stamp:~4,2%.%Stamp:~0,4%
Set vTime=%Stamp:~8,2%.%Stamp:~10,2%
For /f "UseBackq Tokens=1* Delims=_" %%a in (`"Dir %Scr% /B/AD/ON | FindStr /IBRC:"^[0-9]""`) Do (
        Echo ######################## Формирование RSB архива ########################>>%Lg%\Arch_%vDate%_%vTime%.log
        Arj m -e "%Dst%\%Gni%_%%a_RSB_%vDate%_%vTime%.arj" "%Scr%\%%a_%%b">>%Lg%\Arch_%vDate%_%vTime%.log
        Echo ######################## Тестирование RSB архива ########################>>%Lg%\Arch_%vDate%_%vTime%.log
        Arj t "%Dst%\%Gni%_%%a_RSB_%vDate%_%vTime%.arj">>%Lg%\Arch_%vDate%_%vTime%.log
)
For /f "UseBackq Delims=" %%d in (`"Dir %Scr% /B/AD/S | Sort /R "`) Do Rd "%%d

Сам батник архивирует файлы *.doc каталогов ХХХХ_* (где ХХХХ - любые 4 цифры и * - любой текст, например: 6548_ООО Мир) расположенные D:\Temp\RSB\Work и тестит архив. Архивы обзываются 6911_ХХХХ_RSB_Дата_Время.arj Помещает архивы в D:\Temp\RSB\Archive. Все пишется в лог. И удаляются пустые каталоги ХХХХ_* в D:\Temp\RSB\Work.

А как сделать чтоб архивировался сам каталог, а не его содержимое?

Вопрос возник из-за того, что вдруг в D:\Temp\RSB\Work будут 2 катала например "6548_ООО Мир" и "6548_ООО Бор", то все содержимое упадет в одни архив и их файлы перемешаются, чего не хотелось бы.

amel27 28-12-2009 10:16 1305974

Цитата:

Цитата Sarus
как сделать чтоб архивировался сам каталог, а не его содержимое? »

что это меняет?... для начала нужно сменить правило именования архивов для таких случаев - например, добавить в имя порядковый номер файла при наличии совпадения, или включить наименование НП в имя, или еще как... или Вы хотите оставлять архив прямо в каталоге без его последующего удаления?

Sarus 29-12-2009 00:02 1306549

В моем случае, правило наименования архивов регламентировано и соответственно менять никак нельзя.
Цитата:

Цитата amel27
что это меняет? »

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


Время: 07:27.

Время: 07:27.
© OSzone.net 2001-