想要可视化界面交互,建议直接编写界面型程序,批处理并不适合做这些;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
cls&echo off&mode con lines=15
rem 将一个指定文件夹里的文件拷贝/复制到另一个新的文件夹里并显示进度条
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "oldfolder=D:\aa"
set "newfolder=E:\bb"
if not exist "%oldfolder%" (echo;"%oldfolder%" not found&pause&exit)
if not exist "%newfolder%" md "%newfolder%"
set /a "total=0,percent=0,num=0,step=0"
for /f "delims=" %%a in ('dir /a-d/b "%oldfolder%\" 2^>nul') do set /a total+=1
for /f "tokens=1* delims=:" %%a in ('dir /a-d/b "%oldfolder%\" 2^>nul^|findstr /n .') do (
copy /y "%oldfolder%\%%~nxb" "%newfolder%\"
call :progressbar %%a "%%b"
)
echo;
echo;Done
echo;%#% +%$%%$%/%_% %z%
pause
exit
:progressbar
set /a "percent=(%1)*100/total"
set /a "step=percent/3+1"
:check
if %step% gtr %num% (set bar=%bar%*&set /a num+=1&goto check)
cls&echo;%2
echo;&echo;
echo;progress:%1 / %total% completed:%percent% %%
echo;
if "%bar%" neq "" echo;%bar%
exit/b