Board logo

标题: [其他] 批处理进度条的写法问题 [打印本页]

作者: netdzb    时间: 2024-7-5 10:18     标题: 批处理进度条的写法问题

论坛搜到这段代码,正好可以修改使用
  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
复制代码
我的代码应该如何修改?
作者: hnfeng    时间: 2024-7-5 10:56

  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
复制代码

作者: aloha20200628    时间: 2024-7-5 12:47

本帖最后由 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
复制代码

作者: 77七    时间: 2024-7-5 14:06

^%%用%转义%,^应该没啥意义,分隔一下便于阅读?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2