| | Svjt 
 
  
 Newbie
 | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору max200701
 По вашей просьбе выкладываю скрипты:
 
 Основной, запускающий скрипт (самый простой):
 
 
 Код:
 | rem %1-название файлов rem %5-"7" - образы для CD "45"- для DVD
 call pack.bat %1
 call sort.bat %1 %5
 call iso.bat %1
 | 
 
 Первый скрипт пакует (pack.bat):
 
 Код:
 | set CurData=D:\WORK\bat\%1 
 rar m -m0 -r -ep1 -sfx -t -v25 %CurData%\%1 %CurData%\
 
 date /t
 time /t
 | 
 
 Второй раскидывает файлы по папкам (sort.bat). Для CD дисков используется число "7", для DVD - "45", т.к. rar заставляем паковать по 100 метров получается 700 или 4500 метров, что и соответствует дискам...:
 
 Код:
 | REM за %1 назначаем имя файла т.е. %1.part***.rar
 set DIR=d:\WORK\bat\%1
 set CDPATH=0
 set ARPATH=1
 
 REM Определение количества файлов
 Set Cnt=0
 For %%I In (%DIR%\%1*) Do Set /A Cnt += 1
 Echo %Cnt%
 
 REM Подбор имени архива (Если файлов больше 85 вид будет *.part002.rar),
 REM а если от 10 до 85 то *part02.rar)
 if /I %Cnt% LSS 86 (set NAR=.part
 )else (set NAR=.part0)
 
 REM Наименование первого файла
 set FIRST-AR=%NAR%01.exe
 
 REM Определение количества папок
 set disk=%Cnt%
 set /a disk/=7
 set /a diskT=disk*7
 
 REM Если количество файлов не кратно 7, нужна ещё одна папка
 if %Cnt%==%diskT% goto start_mkdir
 set /a disk += 1
 
 REM Создание папок
 :start_mkdir
 Echo %disk%
 if %CDPATH%==%disk% goto end_sort
 set /a CDPATH += 1
 MKDIR %DIR%\cd-%CDPATH%
 
 REM Сортировка архивов по папкам
 :start_mar
 set /a ARPATH += 1
 set /a CDAR=CDPATH*7
 
 REM Выбор имени файла (Меняется количество нулей)
 if /I %ARPATH% LSS 10 (set arname=%1%NAR%0
 ) else (set arname=%1%NAR%)
 REM Если файлов больше 100 и меньше 999 то сотые файлы будут выглядеть так
 REM *.part100.rar, поэтому ставим ещё одно условие
 if /I %ARPATH% GEQ 100 set arname=%1.part
 move %DIR%\%arname%%ARPATH%.rar %DIR%\cd-%CDPATH%\
 if %ARPATH%==%CDAR% goto start_mkdir
 if /I %ARPATH% GTR %Cnt% goto end_sort
 goto start_mar
 :end_sort
 
 REM Перенос первого файла
 move %DIR%\%1%FIRST-AR% %DIR%\cd-1\
 | 
 
 И последний скрипт делает образы, для этого необходима утилитка CDIMAGE.EXE, её могно найти в пакете CDImage (поищите по нету, либо попросите меня, выложу или отправлю) (iso.bat)
 
 Код:
 | REM Номер диска SET N=0
 Set Cnt=0
 SET DIR=D:\WORK\bat\%1
 For /D %%I In (%DIR%\cd*) Do Set /A Cnt += 1
 Echo %Cnt%
 
 :start
 
 set /a N += 1
 
 REM Путь к файлам
 SET DISTR=%DIR%\cd-%N%
 
 REM Папка куда упадёт образ
 SET OUTPUT=%DIR%\
 
 REM Метка тома
 SET LABEL=GARANT%N%
 
 REM  Создание ISO
 
 CDIMAGE.EXE -l"%LABEL%" -j1 -m "%DISTR%" "%OUTPUT%\%LABEL%.ISO"
 
 rd /s /q %DISTR%
 
 if %N%==%Cnt% goto end
 goto start
 
 :end
 | 
 
 Все скрипты буквально сегодня опробовал - работают... Могет быть несовпадение с путями, но, я думаю, все разберутся, если что...
 
 Если вдруг потребуются пояснения - пишите - помогу...
 
 P.S. всем спасибо за помощь и практически советы, если кто смогет помочь с улучшениями - буду только рад.. =))
 |  | Всего записей: 17 | Зарегистр. 03-03-2008 | Отправлено:  23:47 20-07-2008  | Исправлено: Svjt,   23:49 20-07-2008
 | 
 |