|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Совмещение прогресс бара и комманды xcopy |
|
CMD/BAT - Совмещение прогресс бара и комманды xcopy
|
Новый участник Сообщения: 8 |
Добрый день, как совместить прогресс бар с коммандой Xcopy.
Мне необходимо что бы после запуска бат файла с коммандой xcopy, показывалась не только фраза: "скопировано *** файлов", а во время копирования шёл этот бар, возможно ли написать такое? Вот сам прогресс бар: @Echo Off Setlocal EnableDelayedExpansion rem Число символов в прогрессбаре Set N_Col=79 rem Число иттераций (файлов в моем случае) на 100% Set cntA=100 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:22, 01-09-2010 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать все,разобрался, результат в прикрепленном архиве, единственное, не могу разобраться с кодировкой, вместо русских букв иероглифы, если ставить кирилицу, то нет полосы копирования, вместо неё буквы Ы, либо что-то иное.
|
Отправлено: 15:49, 02-09-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать romrip, текст батника должен быть в DOS-кодировке
CMD/BAT - [решено] Помогите с кодировкой. CMD/BAT - Проблема с кодировками в cmd |
Отправлено: 18:46, 02-09-2010 | #12 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать если текст в DOS кодировке, то он в блокноте(AkelPad, TigerPad) отображаеться нормально, а вот при выполнении вместо кирилицы иероглифы (для Dos ставил шрифт и terminal и fixedsys) ничего не помогает.
Думаю тему можно пометить как (РЕШЕНО), ибо основная задача решена, а скодировкой- это второстепенно. |
Последний раз редактировалось romrip, 06-09-2010 в 11:34. Отправлено: 10:16, 03-09-2010 | #13 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать появилась еще одна идея,:
возможно ли реализовать вывод в ЗАГОЛОВОК ОКНА того, что выводиться в командной строке (в данный момент времени) ?? например robocopy при копировании выводит % копирования, неплохо было бы увидеть их в заголовке окна. |
Последний раз редактировалось romrip, 14-09-2010 в 15:02. Отправлено: 10:27, 14-09-2010 | #14 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата romrip:
|
|
Отправлено: 05:11, 15-09-2010 | #15 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать можно ли как то прикрутить прогресс бар к такому батнику?
@echo off SetLocal EnableDelayedExpansion set fi=C:\IN\001.txt set fi1=C:\IN\005.txt set fi2=C:\IN\011.txt set fi3=C:\IN\028.txt set fo=C:\OUT\000.txt (for /f "tokens=1 delims=:" %%i in ('findstr /brnc:".* 0 .* 0 .* 0 .*" "%fi%"') do ( set /a $j=%%i-1& for /f "tokens=1* delims=[]" %%a in ( 'find /v /n ""^<"%fi%"^|findstr /bc:"[%%i]" /c:"[!$j!]"') do echo.001 %%b )) >"%fo%" (for /f "tokens=1 delims=:" %%i in ('findstr /brnc:".* 0 .* 0 .* 0 .*" "%fi1%"') do ( set /a $j=%%i-1& for /f "tokens=1* delims=[]" %%a in ( 'find /v /n ""^<"%fi1%"^|findstr /bc:"[%%i]" /c:"[!$j!]"') do echo.005 %%b )) >>"%fo%" (for /f "tokens=1 delims=:" %%i in ('findstr /brnc:".* 0 .* 0 .* 0 .*" "%fi2%"') do ( set /a $j=%%i-1& for /f "tokens=1* delims=[]" %%a in ( 'find /v /n ""^<"%fi2%"^|findstr /bc:"[%%i]" /c:"[!$j!]"') do echo.011 %%b )) >>"%fo%" (for /f "tokens=1 delims=:" %%i in ('findstr /brnc:".* 0 .* 0 .* 0 .*" "%fi3%"') do ( set /a $j=%%i-1& for /f "tokens=1* delims=[]" %%a in ( 'find /v /n ""^<"%fi3%"^|findstr /bc:"[%%i]" /c:"[!$j!]"') do echo.028 %%b )) >>"%fo%" |
Последний раз редактировалось AlexVong, 23-01-2012 в 23:11. Отправлено: 17:03, 22-01-2012 | #16 |
Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать amel27,
а как можно заманить строку чтоб можно было б делать подсчет из строк текстового файла? делаю так For /F "Delims=" %%i In ('Find /V /C "" "test.txt"') Do Set cntA=%%i но как оставить только цыфры в выводе ---------- test.txt=12535 иначе процент вообще не прощитывается |
Отправлено: 03:02, 15-04-2013 | #17 |
Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать нашел в принципе ответ тут
http://forum.oszone.net/post-1942317.html сделал так Set cntA=0 For /F "usebackq" %%L In (test.txt) Do (Set /A cntA+=1) Set cnt=0 for /f "Tokens=*" %%i in (test.txt) do ( move "%%~nxi" "%%i" Call :bar ) вроди все правильно отображается и считает..но может есть решение попроще |
Отправлено: 03:34, 15-04-2013 | #18 |
Ветеран Сообщения: 1758
|
|
Последний раз редактировалось Foreigner, 16-04-2013 в 07:08. Отправлено: 07:03, 16-04-2013 | #19 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать припозднился, но возможно поможет.
конструкция создает батник, который в свою очередь выведет стандартное окно копирования windows (а там и прогресс бар и т.д. ) вставить можно в любом месте батника echo @set @x=0 /*>>progress_bar.cmd echo.>>progress_bar.cmd echo @cscript //nologo /e:jscript "progress_bar.cmd" "что копируем" "куда копируем>>progress_bar.cmd echo @exit /b>>progress_bar.cmd echo.>>progress_bar.cmd echo */new ActiveXObject("shell.Application").NameSpace(WScript.Arguments(1)).CopyHere(WScript.Arguments(0),16);>>progress_bar.cmd echo //>>progress_bar.cmd call progress_bar.cmd ping -n 10 localhost>nul del progress_bar.cmd |
Отправлено: 14:15, 16-04-2013 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Вставка прогресс бара в функцию | Medic84 | AutoIt | 52 | 07-04-2014 00:19 | |
Графика - [addon] z-Runss - модификация прогресс-бара установки | sLiDeR-X | Наборы обновлений для Windows XP/2003/Windows 7 | 152 | 18-11-2011 11:34 | |
[решено] Вписывание прогресс-бара в гуи-форму | saavaage | AutoIt | 9 | 09-08-2010 22:16 | |
CMD/BAT - [решено] нельзя назвать батник делающий xcopy, xcopy.bat почему ? | foxbat | Скриптовые языки администрирования Windows | 3 | 17-09-2009 05:33 | |
Комманды из bat | fedww | Программное обеспечение Windows | 0 | 25-06-2007 13:44 |
|