中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用“\-/”表示一个进度状态?
« [1] [2] [3] [4] »
作者:
标题: 如何用“\-/”表示一个进度状态? 上一主题 | 下一主题
done
新手上路





积分 9
发帖 5
注册 2006-10-11
状态 离线
『第 31 楼』:  稍稍修改了一下

把.换成了▌
@echo off
setlocal enabledelayedexpansion
set b=/-\ /-\ **
set 速度=1
set 退格=
:b
for /l %%i in (0,1,200) do call :a %%i
goto :b
:a
set/a a=%1%%10
set/a c=%a%%%4
if %a% EQU 0 set/p=▌<nul
if %c% EQU 3 (set/p=^|<nul) else (set/p=!b:~%a%,1!<nul)
ping/n %速度% 127.1>nul
set/p=%退格%<nul
goto :eof


2006-11-2 01:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangzhiyi
中级用户





积分 261
发帖 123
注册 2006-6-6
状态 离线
『第 32 楼』:  



  Quote:
Originally posted by kawakumo at 2006-11-1 13:58:
如果把这个效果用于表示进度,怎样控制?比如显示复制文件的进度。

这个才是问题
我只想知道,比如复制文件就显示进度,不用进度对应,只要显示就行,复制完后进度就不显示。

2006-11-2 02:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 33 楼』:  

效果不是很好,运行这个会将c:\windows\*.*复制到当前目录并显示进度.

  Quote:

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set b=/-\ /-\ **
  4. set 速度=1
  5. set 退格=
  6. set n=0

  7. for %%i in (%SystemRoot%\*.*) do (call :a !n!&copy %%i>nul 2>nul&set /a n+=1)
  8. goto :eof

  9. :a
  10. set/a a=%1%%10
  11. set/a c=%a%%%4
  12. if %a% EQU 0 set/p=▌<nul
  13. if %c% EQU 3 (set/p=^|<nul) else (set/p=!b:~%a%,1!<nul)
  14. ping/n %速度% 127.1>nul
  15. set/p=%退格%<nul
  16. goto :eof
        chenall 发表于:  2006-11-03  08:37

[ Last edited by chenall on 2006-11-3 at 08:46 PM ]

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +4  时间:2006-11-4 03:48
评分人:【 jiangnan110 分数: -2  时间:2007-6-8 20:15




QQ:366840202
http://chenall.net
2006-11-3 20:41
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
kawakumo
初级用户





积分 32
发帖 9
注册 2006-10-30
状态 离线
『第 34 楼』:  

真不错,厉害啊

2006-11-4 08:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
skyearth
初级用户





积分 34
发帖 13
注册 2006-7-20
状态 离线
『第 35 楼』:  

偶也来改进一下,显示有竖线的进度循环,呵呵!

@echo off
setlocal enabledelayedexpansion
set b=^|/-\
set 速度=1
set 退格=
:b
for /l %%i in (0,1,200) do call :a %%i
goto :b
:a
set/a a=%1%%4
set/p=!b:~%a%,1!<nul
ping/n %速度% 127.1>nul
set/p=%退格%<nul
goto :eof

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-11 03:19


2006-11-10 00:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 36 楼』:  



  Quote:
Originally posted by skyearth at 2006-11-10 00:41:
偶也来改进一下,显示有竖线的进度循环,呵呵!

@echo off
setlocal enabledelayedexpansion
set b=^|/-\
set 速度=1
set 退格=
:b
for /l %%i in (0,1,200) do call :a %% ...

是否可以自己定位进度循环在屏幕中的位置.

2006-11-19 07:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 37 楼』:  

学习



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-23 06:43
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
donpps
初级用户





积分 56
发帖 20
注册 2006-4-23
状态 离线
『第 38 楼』:  如果进度条能够与被调用的子程序同步就好了。

33楼的演示了文件复制的情形,以复制文件的个数为步进量,如果只复制一个比较大的(>=500m)文件呢,怎么办!
如果进度条能够与被调用的子程序同步就好了。

2006-12-14 00:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
a11yesno
新手上路





积分 18
发帖 6
注册 2007-3-2
状态 离线
『第 39 楼』:  

nb 不太喜欢用ping控制延迟 用

for /l %%i in (1,1,1000) do echo %%i>nul 吧

[ Last edited by a11yesno on 2007-3-2 at 04:36 AM ]

2007-3-2 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xycoordinate
中级用户




积分 493
发帖 228
注册 2007-2-16
来自 安徽
状态 离线
『第 40 楼』:  

chenall:
for %%i in (%SystemRoot%\*.*) do (call :a !n!&copy %%i>nul 2>nul&set /a n+=1)

看不太清楚!
为何???(%SystemRoot%\*.*)

set/a a=%1%%10
是%1除以10取余?

set/a c=%a%%%4
是%a%除以4取余?

&copy %%i>nul
害人呀????!!!

幸好,你没有
&del %%i>nul
那可就惨了!

[ Last edited by xycoordinate on 2007-3-2 at 03:49 PM ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 jiangnan110 分数: +1  时间:2007-6-8 20:16


2007-3-3 04:35
查看资料  发送邮件  发短消息 网志  OICQ (226308607)  编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 41 楼』:  

真的转起来了,-_-! 真强悍!

2007-3-3 07:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yjhyxing
初级用户

☆流星雨◇帅气冲天狂


积分 24
发帖 21
注册 2007-3-9
来自 广东
状态 离线
『第 42 楼』:  

看贴回贴养成好习惯

2007-3-12 06:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
windeshadow
初级用户





积分 38
发帖 15
注册 2007-4-13
状态 离线
『第 43 楼』:  

娃哈哈

2007-4-17 02:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 44 楼』:  

恩,获取ASCII控制符的玩法很不错,挺过瘾..
不过,如果只想获取0x08字符, 用个16进制编辑器,输入08就行了吧?

2007-4-17 03:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xuewenzi
新手上路





积分 4
发帖 2
注册 2007-4-10
状态 离线
『第 45 楼』:  

闹大了哦 !六楼的大哥效果不错,就是看着不舒服

2007-4-17 04:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: