中国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]  >>   >
作者:
标题: 如何用“\-/”表示一个进度状态? 上一主题 | 下一主题
kawakumo
初级用户





积分 32
发帖 9
注册 2006-10-30
状态 离线
『楼 主』:  如何用“\-/”表示一个进度状态?

批处理中想用“\-/”表示一个进度状态,好像“-”在翻滚那样,要怎样实现?


2006-10-30 15:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 2 楼』:  

你的意思是一般执行DOS命令一边显示进度吗?




2006-10-30 20:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 3 楼』:  

@echo off set str=\-/- setlocal enabledelayedexpansion :test for /l %%i in (-1 1 3) do ( set /p=!str:~%%i,1!<nul ping /n 2 127.1>nul) cls goto :test pause>nul 看看这段代码能否完成任务?如果ping /n 2 127.1实现的延时过长(2秒左右)请采用其它办法。


   此帖被 +4 点积分      点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-10-30 22:06
评分人:【 haiou327 分数: +1  时间:2007-5-12 16:58
评分人:【 sunxh 分数: +1  时间:2009-9-12 12:50


2006-10-30 21:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 4 楼』:  

很象早期的压缩软件的处理过程,精彩~:) 给youxi01加分~:)


   此帖被 +1 点积分    点击查看详情   
评分人:【 qiuqiansuo 分数: +1  时间:2007-2-1 00:58




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 22:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 5 楼』:  

我也来个:
@echo off
setlocal enabledelayedexpansion
set b=\-/-
:b
for /l %%i in (0,1,32) do call :a %%i
cls
goto :b
:a
set/a a=%1%%4
set/p=!b:~%a%,1!<nul
ping/n 2 127.1>nul
goto :eof
第二个:
@echo off
setlocal enabledelayedexpansion
set b=\-/-
:b
for /l %%i in (0,1,3) do (
echo !b:~%%i,1!
ping /n 2 127.1>nul
cls)
goto b
[ Last edited by qwe1234567 on 2006-10-30 at 10:34 PM ]


   此帖被 +5 点积分       点击查看详情   
评分人:【 redtek 分数: +4  时间:2006-10-31 02:38
评分人:【 sunxh 分数: +1  时间:2009-9-12 12:51




2006-10-30 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 6 楼』:  

Originally posted by 9527 at 2006-10-30 22:23: 我觉得楼主并不是这个意思,/\-这三个符号你们没有看出来组合出来是个星号吗?估计他要的效果是有转动的效果,如果是转动的效果P处理是无法实玠...
原来楼主想要好玩的动画啊~:) 转动的效果照样可以实现,俺认为没有做不到的事情:) 不仅仅是转动,就是做字处理插字、改都能~:)(要用到ASCII码特殊控置字符:) 在版主qwe1234567兄的代码的基础上加了一个退格功能:) ========== 注意: 请不要直接 COPY CON 文件名.bat 的方式COPY, ========== 因下面代码特殊控置字符,直接copy是拷贝不上的。 ========== 简单办法:COPY到Windows的记事本,然后另存为批处理文件,再执行。
@echo off
rem qwe1234567 字符动画

setlocal enabledelayedexpansion
set b=\-/-
set 速度=2

rem ASCII码的08就是退格特殊控制符
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
“如果是转动的效果P处理是无法实现的”,实现了吧,嘻嘻…… [ Last edited by redtek on 2006-10-30 at 10:58 PM ]


   此帖被 +7 点积分      点击查看详情   
评分人:【 无奈何 分数: +4  时间:2006-10-31 00:17
评分人:【 xycoordinate 分数: +1  时间:2007-3-3 04:28
评分人:【 Eblis 分数: +2  时间:2007-3-3 06:02




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 22:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 7 楼』:  

你一定没试,它绝对是在(在原地)转动的效果! 楼主:“批处理中想用“\-/”表示一个进度状态,好像“-”在翻滚那样”, 绝是对这样的效果:) 每显示一个字符后,就后退一个格,然后再显示, (很多命令行软件的提示都是这样的原理!) 这样,因为速度和人的视觉差原因,会产生一个动画的(类似转动起来的效果), 和早期压缩软件的处理效果动画一样。 [ Last edited by redtek on 2006-10-30 at 10:51 PM ]




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 22:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 8 楼』:  

等等,我代码COPY错了,我这里好几个,弄混了, 不过原地转动效果真的可以,等一下。




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 22:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 9 楼』:  

等等,……我又看了,不是我COPY错了! 你一定是直接在CMD SHELL上使用COPY CON 文件名.bat 来COPY上面代码的,! 所以,那里面的“退格”=我后面放的是退格的特殊控置字符, 所以,你COPY的时候可就是真的产生退格键了,而这里的退格符号你是COPY不上去的。 (你直接COPY到记事本里,然后再存就没事了!) (原来是copy con 文件名.bat 直接COPY上面内容时,系统怎么翻译那个退格符为真的退了两个格,致使变量赋值的语句不完整了) 向9527道歉,原来就是这个原因,哈哈…… [ Last edited by redtek on 2006-10-30 at 11:08 PM ]




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 22:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 10 楼』:  

直接下载,原地转动的批处理动画代码。


附件 1: q.rar (2006-10-30 23:00, 295 bytes, 下载附件所需积分 1 点 ,下载次数: 310)


    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-30 23:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 11 楼』:  

兄弟愚劣,能否告知: rem ASCII码的08就是退格特殊控制符 set 退格= 中的退格是怎么得到的?


2006-10-31 00:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 12 楼』:  

) 第一种方法:   使用 MS-DOS自带的(WINDOWS CMD SHELL也有) ECIT.COM 编辑器得输入特殊控置符。   进入 EDIT.COM ,按 CTRL+P组合键,然后可以输入特殊字符:   如:退格键(让光标左移)控制符的ASCII码为 08,     则可以 ALT+08 (按住ALT键不入,然后按右侧小键盘上的0和8键,都输完了再松开ALT键。   注:CTRL+P只一次有效,如果再输入第二个控置字符,还得再按一次CTRL+P ) 第二种方法:用Debug得到
-D

0AF5:0100  20 20 20 20 20 0D 0A 20-20 20 20 0D 0A BA 8C 8A   .    ..    .....
0AF5:0110  73 03 E9 4E FF 2B C8 74-D0 F6 06 15 34 00 E4 0A   s..N.+.t....4...
0AF5:0120  F6 06 15 99 20 75 0A 80-3E D2 99 00 75 BB 49 74   .... u..>...u.It
0AF5:0130  B8 BA 0D 8C EB 23 33 D2-87 D1 B8 01 42 CD 21 A3   .....#3.....B.!.
0AF5:0140  DF 99 89 16 E1 99 80 3E-C5 96 00 74 9C B4 40 CD   .......>...t..@.
0AF5:0150  21 72 5F C6 06 E3 99 1A-C3 E8 FF 0F FE 06 D2 96   !r_.............
0AF5:0160  80 3E D1 96 00 74 48 8B-1E 13 99 83 FB 00 7E 33   .>...tH.......~3
0AF5:0170  8B 0E E1 99 8B 16 DF 99-8B C1 0B C2 74 21 B8 00   ............t!..
-E 100

0AF5:0100  20.08

-W

Writing 0000D bytes
-Q
) 象退格这种特殊控置字符,直接在命令行上输入 ALT+08的话,它当时就“执行”了,直接就相当于你按了退格,把左边的内容删掉了。   所以,在edit.com或其它方式间接输入比较方便。 ) 如果是 07 (响铃),在命令行上输入 GTRL+G、ALT+07都可以。 ) 其它控置字符详见ASCII码表   详见如下贴子有更详细的内容……   DOS学习入门 & 精彩文章 (教学室) » ASCII码表及含义 http://www.cn-dos.net/forum/viewthread.php?tid=1641&fpage=1&highlight=ascii%E7%A0%81    [ Last edited by redtek on 2006-10-31 at 01:30 AM ]




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-31 01:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 13 楼』:  

非常感谢!


2006-10-31 01:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 14 楼』:  

3,用VBS:
createobject("scripting.filesystemobject").opentextfile("tmp.txt",2,true).write chr(8)
关于本主题的问题,其实在本版很早转载的一篇贴子(<深入挖掘Windows脚本技术>)里有提到过,现在看来领悟的朋友似乎比较少。


   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-10-31 02:38


2006-10-31 01:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 15 楼』:  

ASCII码与码表以及相关内容详见如下贴子~:) ASCII码表及含义 www.cn-dos.net/forum ... ASCII编码表 www.cn-dos.net/forum ... dos界面中看ASCII码星球大战 www.cn-dos.net/forum ... [原创]无奈何签名代码略析 www.cn-dos.net/forum ... 有关ASCII码以及关于ANSI动画、绘图、定义键盘的更高级的贴子有: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ANSI.SYS程序的使用 www.cn-dos.net/forum ... 脱离CONFIG里ANSI驱动实现屏幕彩色显示效果 www.cn-dos.net/forum ... RAR支持ANSI转义字符 www.cn-dos.net/forum ... (如上:RAR支持ANSI转义字符) (   可以使自己的网站的RAR压缩包的个性化版权以及压缩包内容声明等) (   可以间接利用RAR的这个自带特性简单学习ANSI-在无纯DOS的环境下) (   可以间接画自己喜欢的图像等) (   关于ANSI做图的内容,在gOOGLE.com上可以检索到很多工具) (   同时,还可以检索到BMP图像文件转ANSI字符图工具等……) [ Last edited by redtek on 2006-10-31 at 05:29 AM ]




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-31 01:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2] [3] [4]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: