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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Совмещение прогресс бара и комманды xcopy

Ответить
Настройки темы
CMD/BAT - Совмещение прогресс бара и комманды xcopy

Новый участник


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

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


Добрый день, как совместить прогресс бар с коммандой 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
Благодарности: 0

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


Вложения
Тип файла: 7z Progress_bar1.7z
(603 байт, 313 просмотров)

все,разобрался, результат в прикрепленном архиве, единственное, не могу разобраться с кодировкой, вместо русских букв иероглифы, если ставить кирилицу, то нет полосы копирования, вместо неё буквы Ы, либо что-то иное.

Отправлено: 15:49, 02-09-2010 | #11



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

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


Googler


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

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


romrip, текст батника должен быть в DOS-кодировке

CMD/BAT - [решено] Помогите с кодировкой.
CMD/BAT - Проблема с кодировками в cmd

Отправлено: 18:46, 02-09-2010 | #12


Новый участник


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

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


если текст в DOS кодировке, то он в блокноте(AkelPad, TigerPad) отображаеться нормально, а вот при выполнении вместо кирилицы иероглифы (для Dos ставил шрифт и terminal и fixedsys) ничего не помогает.

Думаю тему можно пометить как (РЕШЕНО), ибо основная задача решена, а скодировкой- это второстепенно.

Последний раз редактировалось romrip, 06-09-2010 в 11:34.


Отправлено: 10:16, 03-09-2010 | #13


Новый участник


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

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


появилась еще одна идея,:
возможно ли реализовать вывод в ЗАГОЛОВОК ОКНА того, что выводиться в командной строке (в данный момент времени) ??
например robocopy при копировании выводит % копирования, неплохо было бы увидеть их в заголовке окна.

Последний раз редактировалось romrip, 14-09-2010 в 15:02.


Отправлено: 10:27, 14-09-2010 | #14


Googler


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

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


Цитата romrip:
возможно ли реализовать вывод в ЗАГОЛОВОК ОКНА того, что выводиться в командной строке »
нельзя, только отдельной командой (TITLE), а команды в CMD запускаются последовательно (одна за другой)

Отправлено: 05:11, 15-09-2010 | #15


Новый участник


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

Профиль | Отправить 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
Благодарности: 1

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


amel27,
а как можно заманить строку
Код: Выделить весь код
For /F "Delims=" %%i In ('DIR /B/S/A-D "%FROM%\%MASK%"^|Find /V /C ""') Do Set cntA=%%i
чтоб можно было б делать подсчет из строк текстового файла?

делаю так
For /F "Delims=" %%i In ('Find /V /C "" "test.txt"') Do Set cntA=%%i

но как оставить только цыфры в выводе
---------- test.txt=12535


иначе процент вообще не прощитывается

Отправлено: 03:02, 15-04-2013 | #17


Новый участник


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

Профиль | Отправить 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
Благодарности: 966

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


Цитата:
For /F "usebackq" %%L In (test.txt) Do (Set /A cntA+=1)
Не считает пустые строки.

Цитата:
но может есть решение попроще
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=1 delims=:" %%i in (' findstr /n "^.*" "test.txt" ') do set "cnt=%%i"
echo %cnt%

Последний раз редактировалось Foreigner, 16-04-2013 в 07:08.

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

Отправлено: 07:03, 16-04-2013 | #19


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


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

Профиль | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Совмещение прогресс бара и комманды xcopy

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вставка прогресс бара в функцию 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




 
Переход