Войти

Показать полную графическую версию : Помогите с модификацией прогресс-бара в BAT-файле


registeruser1
26-09-2010, 01:49
Ребят, подскажите пож-ста, как можно модифицировать код прогресс-бара загрузки, сделав полосу загрузки прерывистой а не сплошной.?
@Echo Off
Setlocal EnableDelayedExpansion
Set N_Col=80
Set cntA=100
Set cnt=0
for /l %%i in (0,1,99) do (
dd bs=%$z%c >nul 2>&1
Call :Bar
)
pause >nul 2>&1
:Bar
If %cnt%==0 (
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
)
Set /a Inc=((%cnt%+1)*%N_Col%)/%cntA%-(%cnt%*%N_Col%)/%cntA%
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=Ы
Set /a cnt+=1
Set /a prsnt=cnt*100/cntA
Title %1 %prsnt%%% Loaded

amel27
26-09-2010, 06:40
сделав полосу загрузки прерывистой а не сплошной »извиняюсь, не понял... :unsure:

registeruser1
26-09-2010, 07:48
извиняюсь, не понял... »

Ну что-то на подобие возможно ? -

http://s004.radikal.ru/i207/1009/5b/f9ed148901d8t.jpg (http://radikal.ru/F/s004.radikal.ru/i207/1009/5b/f9ed148901d8.jpg.html)

amel27
26-09-2010, 08:39
например, добавлять по два символа:
@Echo Off
Setlocal EnableDelayedExpansion

Set N_Col=40
Set cntA=100
Set cnt=0
for /l %%i in (0,2,98) do (
dd bs=%$z%c >nul 2>&1
ping -n 1 127.0.0.1 >nul
Call :Bar
)
pause >nul& exit

:Bar
If %cnt%==0 (
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
)
Set /a Inc=((%cnt%+2)*%N_Col%)/%cntA%-(%cnt%*%N_Col%)/%cntA%
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X= Ы
Set /a cnt+=2
Set /a prsnt=cnt*100/cntA
Title %1 %prsnt%%% Loaded

gora
26-09-2010, 09:12
сделав полосу загрузки прерывистой а не сплошной.? »
Измените псевдографический символ так:
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=Э или так:
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=Ю




© OSzone.net 2001-2012