![]() |
нумерация формируемых архивов
Доброе утро!
есть такой скрипт: :arj311 IF NOT EXIST "%script_root%%1\*.arj" ( echo %time:~0,8% %date% >> "%script_root%logs\311p.log" "%utils_folder%arj32.exe" a -e "%script_root%%1\%1%bik%%date%01.arj" "%script_root%%1\SBC*.txt" set num=01 ) ELSE ( for /f "tokens=1 delims=." %%a in ('dir %script_root%%1\*.arj /b') do ( set num=%%a ) set num=!num:~-2! echo %time:~0,8% %date% >> "%script_root%logs\311p.log" del /f /s /q "%script_root%%1\*!num!.arj" >> "%script_root%logs\311p.log" If !num! LSS 10 set num=!num:~-1! set /a num=!num!+1 If !num! LSS 10 set num=0!num! echo %time:~0,8% %date% >> "%script_root%logs\311p.log" "%utils_folder%arj32.exe" a -e "%script_root%%1\%1%bik%%date%!num!.arj" "%script_root%%1\SBC*.txt" ) del /f /s /q "%script_root%%1\SBC*.txt" >> "%script_root%logs\311p.log" exit /b немного подробней: пихаем sbc*.txt файлы в архив arj типа \%1%bik%%date%!num!.arj" где %1 будет типА или типВ %bik просто бик а вот !num! железно почемуто делает только 01 архив. проблема в том что изза имени этого архива приходят ответы с такими же именами и файлики друг друга перезатирают. |
umagonj, мы должны гадать по куску пакетного файла? Что такое «%script_root%», «%utils_folder%» и т.д, и т.п.
|
хм, не думал что эти переменные могут быть важны
"%script_root%%1\*.arj = директория где лежат всякие бат файлы %1 уже писал, это папка в зависимости от типа файла (т.е А или B) "%utils_folder%arj32.exe" - место где лежат утилиты. вопрос был не в етом: я как человек, недавно назначенный за работу батников, немного не понимаю что делают те или иные функции вопрос в чем: КАК именно он определяет что пора делать архив под номером 2, а не начинать с 1го? Цитата:
Цитата:
спасибо, проблема не в етом куске была. перемещал архив в папку отправления, а копию "%script_root%%1\*.arj" не оставлял, вот он и клепал архив 01 |
Цитата:
Цитата:
|
Iska, понял вас, буду иметь ввиду эту ошибку.
вообщем разобраться так и не получилось. что хотел сказать: нужно создание архива arj формата set dir=c:\311fiz\files\ arj32 a -e BN11751%date:~8,4%%date:~3,2%%date:~0,2%0001 %dir%*.* BN - тип посылки (неизменно) 11751 - бик (неизменно) дата в формате годмесяцчисло ( у меня вышло только как %date:~8,4%%date:~3,2%%date:~0,2% ) 0001 - номер сообщения за день %dir%*.* - собсвтенно забор любых файлов из c:\311fiz\files\ нужно чтобы он создавал архив арж в папке c:\311fiz\ с именем BN117511407210001.arj а если уже есть такой архив , BN117511407210002.arj если 0002 есть то 0003 и т.д. |
Время: 14:33. |
Время: 14:33.
© OSzone.net 2001-