Виктор_Падий@vk
12-11-2016, 12:00
Добрый день!
Помогите прикрутить прогресс бар к скрипту, у самого опыта не хватает, за ранние спасибо!
Собственно сам процесс бар:
@Echo Off
Setlocal EnableDelayedExpansion
MODE CON COLS=80 LINES=4
color 1e
rem Число символов в прогрессбаре
Set N_Col=79
rem Число иттераций (файлов в моем случае) на 100%
Set cntA=1000
Set cnt=0
Echo Обработка запущена
:loop
Call :Work
Call :Bar Обработано
If Not %cnt%==%cntA% GoTo :loop
Echo.
Echo Обработка завершена
pause
Exit
:Bar
If %cnt%==0 (
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░& Set Line1=!Line1!
<Nul Set /p X=!Line0!!Line1!
)
Set /a cnt+=1, Inc=cnt*N_Col/cntA-%cnt%*N_Col/cntA, prsnt=cnt*100/cntA
Title %1 %prsnt%%% файлов: %cnt% из %cntA%
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=█
GoTo :EOF
:Work
rem Здесь собственно рабочая процедура
For /L %%k In (1,1,10000) Do rem
GoTo :EOF
Скрипт:
::год
set year=%date:~6,4%
::месяц
set month=%date:~3,2%
::число
set /a day=%date:~0,2%-1
if %day% LSS 10 (set Maska=%year%%month%0%day%) else (set Maska=%year%%month%%day%)
set PathIn44=D:\Тендеры\Служебные_файлы\FTP\44
set PathOutZak44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Закупки\44-фз
set PathOutKont44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Контракты\44-фз
set PathOutProt44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Протоколы\44-фз
set PathOutCancel44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Отмененные\44-фз
::Закупки
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\notifications\" %%a in (notification_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutZak44%\%%i" -ir@fileZak44.txt -y)
::Контракты
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\contracts\" %%a in (contract_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutKont44%\%%i" -ir@fileKont44.txt -y)
REM ::Протоколы
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\protocols\" %%a in (protocol_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutProt44%\%%i" -ir@fileProt44.txt -y)
::Отмененные
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\notifications\" %%a in (notification_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutCancel44%\%%i" -ir@fileCancel44.txt -y)
"C:\Program Files\QlikView\Qv.exe" /r "C:\Users\padij\OneDrive\Qlik\Аналитика\test.qvw"
exit
Помогите прикрутить прогресс бар к скрипту, у самого опыта не хватает, за ранние спасибо!
Собственно сам процесс бар:
@Echo Off
Setlocal EnableDelayedExpansion
MODE CON COLS=80 LINES=4
color 1e
rem Число символов в прогрессбаре
Set N_Col=79
rem Число иттераций (файлов в моем случае) на 100%
Set cntA=1000
Set cnt=0
Echo Обработка запущена
:loop
Call :Work
Call :Bar Обработано
If Not %cnt%==%cntA% GoTo :loop
Echo.
Echo Обработка завершена
pause
Exit
:Bar
If %cnt%==0 (
For /L %%a In (1,1,%N_Col%) Do Set Line0=!Line0!░& Set Line1=!Line1!
<Nul Set /p X=!Line0!!Line1!
)
Set /a cnt+=1, Inc=cnt*N_Col/cntA-%cnt%*N_Col/cntA, prsnt=cnt*100/cntA
Title %1 %prsnt%%% файлов: %cnt% из %cntA%
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=█
GoTo :EOF
:Work
rem Здесь собственно рабочая процедура
For /L %%k In (1,1,10000) Do rem
GoTo :EOF
Скрипт:
::год
set year=%date:~6,4%
::месяц
set month=%date:~3,2%
::число
set /a day=%date:~0,2%-1
if %day% LSS 10 (set Maska=%year%%month%0%day%) else (set Maska=%year%%month%%day%)
set PathIn44=D:\Тендеры\Служебные_файлы\FTP\44
set PathOutZak44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Закупки\44-фз
set PathOutKont44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Контракты\44-фз
set PathOutProt44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Протоколы\44-фз
set PathOutCancel44=D:\Тендеры\Служебные_файлы\Для обработки\Файлы с zakupki.gov.ru\Отмененные\44-фз
::Закупки
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\notifications\" %%a in (notification_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutZak44%\%%i" -ir@fileZak44.txt -y)
::Контракты
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\contracts\" %%a in (contract_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutKont44%\%%i" -ir@fileKont44.txt -y)
REM ::Протоколы
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\protocols\" %%a in (protocol_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutProt44%\%%i" -ir@fileProt44.txt -y)
::Отмененные
for /f "eol=# tokens=*" %%i IN (Регионы.txt) do @cmd/c FOR /R "%PathIn44%\%%i\notifications\" %%a in (notification_%%i_%Maska%*) do ("C:\Program Files\7-Zip\7z.exe" x "%%a" -o"%PathOutCancel44%\%%i" -ir@fileCancel44.txt -y)
"C:\Program Files\QlikView\Qv.exe" /r "C:\Users\padij\OneDrive\Qlik\Аналитика\test.qvw"
exit