bat 进度条
本帖最后由 Sring65 于 2021-8-5 12:01 编辑@echo off&setLocal EnableDelayedExpansion
echo 进度条
set /a n=0
set /a max=200
:loop
set /a n+=1
call :runProgress %n% %max%
if %n% GEQ %max% (echo;&pause&set /a n=0)
goto:loop
rem 显示进程
:runProgress
set /a rPgi=100 * %1 / %2
set /a rPgN=%rPgi%/2
set cmplt=■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set uncmp=□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
call:BpByStr !cmplt:~0,%rPgN%!!uncmp:~%rPgN%! %rPgi%%%%%
goto :eof
rem 重复显示删除
:BpByStr
if "%bp%"=="" call:Backspace bp
set "BpByStrold=%*"
set /p=%bp%%bp%%bp%%bp%%bp%<nul
set "BpByStr=%BpByStrold%"
set /p=%BpByStr%<nul
goto :eof
rem 退格
:Backspace
for /F %%a in ('"prompt $h&for %%b in (1) do rem"') do (
Set "%~1=%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a")
goto :eof 本帖最后由 luliucheng 于 2021-8-5 11:34 编辑
帮楼主修正一下代码:第8行改为if %n% GEQ %max% (echo;&pause&goto :eof),否则程序不会结束而会无限循环。另外,第10行和第11行可以去掉,不影响程序运行。 xianyuamiao123 发表于 2021-8-4 19:56
感谢楼主分享。要是能下载到楼主的notepad主题就更好了
可以搜索notepad2可以找到
https://github.com/zufuliu/notepad2 我喜欢一个个打着玩 很漂亮,感谢楼主分享. 进度条那里应该也可以通过for循环显示 学到了,感谢楼主分享 按任何键之后一直在循环嘛哈哈
看着还真不错 确实挺好玩。