Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Графическая оболочка для CMD (индикатор состояния)

Ответить
Настройки темы
CMD/BAT - [решено] Графическая оболочка для CMD (индикатор состояния)

Пользователь


Сообщения: 55
Благодарности: 1

Профиль | Отправить PM | Цитировать


Подскажите, возможно ли сделать графический индикатор состояния CMD т.е. что бы отображал процент выполнения установки (именно в графическом виде)???

Отправлено: 11:52, 14-07-2009

 

Аватара для Shanser

Ветеран


Сообщения: 536
Благодарности: 102

Профиль | Отправить PM | Цитировать


Цитата ofcoss:
Подскажите, возможно ли сделать графический индикатор состояния CMD т.е. что бы отображал процент выполнения установки (именно в графическом виде)??? »
Никогда такого не встречал, однако посмотри тут, может автор сего творения тебе что-то подскажет.
Нормальный прогресс бар прикрутить к СМД ИМХО нельзя!!!

-------
-=Всё елементарное просто - только нужно доработать напильником...=-
-==Мой ответ вам помог? Если да, нажмите: "Полезное сообщение"!!!==-

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:22, 14-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 55
Благодарности: 1

Профиль | Отправить PM | Цитировать


А начем написан WPI там разве не cmd команды используються

Отправлено: 00:22, 15-07-2009 | #3


Аватара для Shanser

Ветеран


Сообщения: 536
Благодарности: 102

Профиль | Отправить PM | Цитировать


Цитата ofcoss:
А начем написан WPI там разве не cmd команды используються »
WPI написан не на СМД!!!

-------
-=Всё елементарное просто - только нужно доработать напильником...=-
-==Мой ответ вам помог? Если да, нажмите: "Полезное сообщение"!!!==-

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:00, 15-07-2009 | #4


Аватара для gora

дважды дед


Contributor


Сообщения: 6042
Благодарности: 3487

Профиль | Отправить PM | Цитировать


Цитата Shanser:
посмотри тут, может автор сего творения тебе что-то подскажет »
Автор идеи не я, а amel27. Я лишь слегка доработал ее под свои нужды.
Вот тестовый вариант псевдографического прогрессбара в *.bat файле :
Код: Выделить весь код
@Echo Off
Setlocal EnableDelayedExpansion

rem Число символов в прогрессбаре
Set N_Col=79
rem Число иттераций (файлов в моем случае) на 100% 
Set cntA=274

rem -----------------------------
Set cnt=0
Echo Обработка запущена
:loop
Call :Work
Call :Bar Обработано
If Not %cnt%==%cntA% GoTo :loop
rem -----------------------------
Echo.
Echo Обработка завершена
Pause>nul
Exit

:Bar
If %cnt%==0 (
 For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░
 For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
 <Nul Set /p X=!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%%% файлов: %cnt% из %cntA%
GoTo :EOF

:Work
rem Здесь собственно рабочая процедура

GoTo :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:21, 16-07-2009 | #5


Пользователь


Сообщения: 55
Благодарности: 1

Профиль | Отправить PM | Цитировать


хмм после раздела work за словом rem вставляю свою команду и ничего не происходит, че не так делаю?
@Echo Off
Setlocal EnableDelayedExpansion

rem Число символов в прогрессбаре
Set N_Col=79
rem Число иттераций (файлов в моем случае) на 100%
Set cntA=274

rem -----------------------------
Set cnt=0
Echo Обработка запущена
:loop
Call :Work
Call :Bar Обработано
If Not %cnt%==%cntA% GoTo :loop
rem -----------------------------
Echo.
Echo Обработка завершена
Pause>nul
Exit

:Bar
If %cnt%==0 (
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
<Nul Set /p X=!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%%% файлов: %cnt% из %cntA%
GoTo :EOF

:Work
rem setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-

GoTo :EOF

Отправлено: 11:46, 16-07-2009 | #6


Аватара для gora

дважды дед


Contributor


Сообщения: 6042
Благодарности: 3487

Профиль | Отправить PM | Цитировать


Цитата ofcoss:
за словом rem вставляю свою команду и ничего не происходит »
Удалите rem и ваша команда будет выполняться, но видимо Вы не поняли работу этого скрипта. В таком виде он выполнить команду setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- 274 раза. В ходе же работы самого setup.exe прогресс бар будет неподвижен, а будет продвигаться только после каждого (или нескольких) запуска этого файла setup.exe.

Отправлено: 12:20, 16-07-2009 | #7


Старожил


Сообщения: 413
Благодарности: 161

Профиль | Отправить PM | Цитировать


А так красивше
Код: Выделить весь код
@Echo Off  
MODE CON COLS=80 LINES=5
color 1e 
Setlocal EnableDelayedExpansion
дальше по тексту

Последний раз редактировалось mamont1, 16-07-2009 в 13:18.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 16-07-2009 | #8


Аватара для batyaPS

Ветеран


Сообщения: 970
Благодарности: 60

Профиль | Отправить PM | Цитировать


ofcoss,

после "rem" ставится как правило описание или помощь или что угодно

смысл - после команды rem не чего обрабатываться не будет (или просто игнорироваться )

тебе надо так

:Work
rem тут можно писать что угодно !!!!! не как не влияет на работу скрипта.

setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-

GoTo :EOF

Цитата mamont1:
@Echo Off MODE CON COLS=80 LINES=5 color 1e Setlocal EnableDelayedExpansion »

у меня почему то полоски не появилось . только вывод работы cmd

Последний раз редактировалось batyaPS, 16-07-2009 в 12:39. Причина: пока писал опередили


Отправлено: 12:26, 16-07-2009 | #9


Аватара для batyaPS

Ветеран


Сообщения: 970
Благодарности: 60

Профиль | Отправить PM | Цитировать


Цитата ofcoss:
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!
<Nul Set /p X=!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=█ »

какие символы здесь утерялись ?

Отправлено: 12:46, 16-07-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Графическая оболочка для CMD (индикатор состояния)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - Графическая оболочка на FreeBSD clin Общий по FreeBSD 17 26-08-2014 10:15
[решено] При запуске винды пропадает графическая оболочка виндовз QUMATOZ Лечение систем от вредоносных программ 23 07-10-2008 14:06
Debian/Ubuntu - графическая оболочка для убунту Sirko9 Общий по Linux 3 27-03-2008 14:28
Графическая оболочка Windows XP Guest Хочу все знать 6 16-07-2003 22:15
Графическая оболочка для MPlayer Romul8 Программное обеспечение Linux и FreeBSD 18 27-12-2002 20:11




 
Переход