[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理进度条的写法问题

论坛搜到这段代码,正好可以修改使用
  1. @echo off
  2. for /l %%a in (0,1,100) do ping -n 1 127.1>nul&&cls&& echo ——请稍后:%%a^%%
  3. echo 完成!
  4. pause
复制代码
代码中的 %%a^%%是什么意思啊?

如果代码改成
  1. @echo off
  2. for /l %%a in (0,1,1100) do ping -n 1 127.1>nul&&cls&& echo ——请稍后:%%a^%%
  3. echo 完成!
  4. pause
复制代码
我的代码应该如何修改?

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (0,1,1100) do (
  3.   ping -n 1 127.1>nul
  4.   cls
  5.   set /a x=%%a*100/1100
  6.   echo ——请稍后:!x!^%%
  7. )
  8. echo 完成!
  9. pause
复制代码

TOP

本帖最后由 aloha20200628 于 2024-7-5 14:49 编辑

回复 1# netdzb

可自定义 '百分进度表' 总程,但不用开启变量延迟的代码如下...
  1. @echo off &set "x=1100"
  2. for /l %%a in (0,1,%x%) do (ping -n 1 127.1>nul&cls&set/a"_x=%%a*100/x"&call echo,——请稍后:%%_x%%%%%%)
  3. echo,完成!&pause&exit/b
复制代码

TOP

^%%用%转义%,^应该没啥意义,分隔一下便于阅读?
bat小白,请多指教!谢谢!

TOP

返回列表