moonkir
Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору king_stiven я уже написал, 50, но в принцыпе можно любое кол-во Добавлено: Хорошо получаем мы число pusk Как теперь отсчитывать кол-во (set /a pusk/=50)распакованых обновлений Добавлено: хм... если... вроде понял, щас попробую Добавлено: щас у меня вот так выглядит Код: @ECHO OFF setlocal enabledelayedexpansion :Extract for /f "usebackq tokens=* " %%a in (`dir msu /b`) do set /a kolvo+=1 for /f "usebackq tokens=* " %%a in (`dir msu /b`) do set /a kolv+=1 set /a kolv/=74 Set /a N=0 echo. cd msu For %%F In ("*.msu") Do Call :Ext %%F goto Exit :Ext cls Set /a N+=1 echo -=Распаковка обновлений=- echo. echo Распаковывается %N% из %kolvo% обновлений echo %1 ... echo. :: вот на этом месте я думаю нужно сравнивать переменные :: если %N% деленное на %kolv% равно 1 то одна решетка # :: [#===================================================================================] :: если %N% деленное на %kolv% равно 2 то две решетки ## :: [##==================================================================================] :: ну и так далее, а вот как написать ненаю if defined updall goto continue if exist "..\Cab\%~n1.cab" ( echo. echo Обновление с таким именем уже существует :Choice echo. set /p choice=Заменить^(o^),Пропустить^(s^),Заменить Все^(a^)? echo. if "!choice:~0,1!"=="o" goto continue if "!choice:~0,1!"=="a" (set "updall=true" & goto continue) if "!choice:~0,1!"=="s" goto :EOF goto :Choice ) :continue call ..\tools\servicing\expand -F:* "%1" "..\Cab" > nul ::Удаление лишних файлов del /f /q "..\Cab\*.xml" > nul del /f /q "..\Cab\*.txt" > nul del /f /q "..\Cab\WSUSSCAN.cab" > nul GoTo :EOF :Exit exit |
| Всего записей: 287 | Зарегистр. 04-11-2006 | Отправлено: 19:58 14-10-2007 | Исправлено: moonkir, 20:39 14-10-2007 |
|