CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Ответить
Аватара пользователя
ufooo000

CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение ufooo000 »

Скрипт: "ProgrBar"

Код: Выделить всё

@Echo Off
Setlocal EnableDelayedExpansion
MODE CON COLS=80 LINES=1
color 1e
xCopy /Y "Media\"*"" "%Windir%\Media"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Afternoon"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Calligraphy"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Characters"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Cityscape"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Delta"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Festival"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Garden"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Heritage"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Landscape"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Quirky"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Raga"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Savanna"
xCopy /Y "Media\AllinOne\"*"" "%Windir%\Media\Sonata"
Set N_Col=79
:: Cik faili jakope
Set cntA=203 
Set cnt=0
:loop
Call :Media
Call :ProgressBar Processed
If Not %cnt%==%cntA% GoTo :loop
Echo.
ping -n 9 localhost>Nul
Exit /b
:ProgressBar
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%%% Files: %cnt% from %cntA%
If %Inc% GTR 0 For /L %%a In (1,1,%Inc%) Do <Nul Set /p X=Ы
GoTo :EOF
:Media
For /L %%k In (1,1,10000) Do rem
GoTo :EOF
Exit /b
Аватара пользователя
alpap

Re: CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение alpap »

ufooo000,

ПРАВИЛЬНО прикрутить прогресс-бар это целая наука и целая эпопея, ведь нужна привязка и к папке откуда и к папке куда, чтобы постоянно контролировать наполнение (процентовку) и выводить на экран. Просто запустить копирование и запустить воздушные шарики подобный ни к чему не привязанный прогресс-бар - надо ли оно, лишнее грузило для процессора. Можно использовать штатное средство анализа и отображения (может не так красиво как кому-то хочется, но точно и информативно) самой ОС:

пути свои проставьте в set вместо указанных после =



Код:

Код: Выделить всё

@set @x=0 /*
@echo off
set "in=%Programfiles%"&: Путь к папке откуда копировать
set "out=%Userprofile%\Desktop"&: Путь к папке куда копировать
cscript //nologo /e:jscript "%~f0" "%in%" "%out%"
exit
*/new ActiveXObject("shell.Application").NameSpace(WScript.Arguments(1)).CopyHere(WScript.Arguments(0),16);
Аватара пользователя
ufooo000

Re: CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение ufooo000 »

Вот интересный прогресс бар:

Код: Выделить всё

@echo off
color 0a
MODE CON COLS=80 LINES=8
title %
set "my_file=*.txt"
set "my_folder=%USERPROFILE%\Desktop\File Copy"
2>nul md "%my_folder%"
setlocal
for %%i in (
 C D E F G H I J K L M N O P Q R S T U V W X Y Z
 ) do (
 set m=
 set n=
 >nul 2>&1 (
 dir/a %%i:\
 )&& (
 echo Drive %%i: processing...
 >.tmp 2>nul (
 dir/a-d/b/s "%%i:\%my_file%"
 )&& (
 cls
 mode 60
 <nul set/p="Drive %%i: "
 title 0%% completed.
 for /f %%j in ('
  ^<.tmp find/c /v ""
 ') do (
  for /f "delims=" %%k in ('
   ^<.tmp more
  ') do (
   if not defined count (
    set name=%%~nxk
   ) else (
    call set name=%%~nk[%%count%%]%%~xk
   )
   echo f| >nul 2>&1 (
   cmd/v/c xcopy/hkry "%%k" "%my_folder%\!name!"
   )
   <nul set/p=@
   2>nul set/a m+=100000/%%j
   set/a n=m/1000
   if defined n (
    call title %%n%%%%%% completed.
   )
   set/a count+=1
  )
 )
 title 100%% completed.
 mode 90,27
 title %
 )
 )
 cls
)
del .tmp
if not defined count (
 echo Files not found.
)
for /d %%i in ("%USERPROFILE%\Desktop\*") do rd /q "%%i" 2>nul
>nul ping -n 5 localhost
endlocal
exit/b 0
Аватара пользователя
ufooo000

Re: CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение ufooo000 »

Код:

Код: Выделить всё

@echo off
MODE CON COLS=44 LINES=3
color 1e
Title 
Progress Bar
echo.
cls
xCopy /Y "Media\"*"" "%Windir%\Media"
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ІІІІІІІІІІІІІІІІІІІІ 1%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫІІІІІІІІІІІІІІІІІІІ 2%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫІІІІІІІІІІІІІІІІІІІ 3%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫІІІІІІІІІІІІІІІІІІ 10%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫІІІІІІІІІІІІІІІІІ 15%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫІІІІІІІІІІІІІІІІ 20%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫІІІІІІІІІІІІІІІ 25%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫІІІІІІІІІІІІІІ 50%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫІІІІІІІІІІІІІ 55%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫІІІІІІІІІІІІ 40%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫІІІІІІІІІІІ 45%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫІІІІІІІІІІ 50%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫІІІІІІІІІ 55%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫІІІІІІІІ 60%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫІІІІІІІ 65%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫІІІІІІ 70%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫІІІІ 80%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫІІІ 85%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫІІ 90%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫІ 95%%
echo ----------------------------------
ping -n 1 localhost >nul
cls
echo.
echo.
echo Loading...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ 100%%
echo ----------------------------------
GOTO END
:END
cls
echo.
echo.
echo Setup complete...
echo ----------------------------------
echo Progress: ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ 100%%
echo.
echo.
Аватара пользователя
Iska

Re: CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение Iska »

ufooo000, Вы можете сколько угодно находить хоть натуральных прогресс-баров, хоть их имитаций — сказанное коллегой alpap выше останется в силе.
Аватара пользователя
Iska

Re: CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"

Сообщение Iska »

Цитата Iska:



сказанное коллегой alpap выше останется в силе
CMD/BAT - Скрипт: "ProgrBar" копирования всех файлов из папки "Media"




Ну и что теперь-все идеи годятся.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»