![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 13:11 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何用“\-/”表示一个进度状态? |
| 可打印版本 25,783 / 57 |
| 第1楼 kawakumo | 发表于 2006-10-30 15:40 |
| 初级用户 发帖 9 积分 32 | |
|
如何用“\-/”表示一个进度状态? 批处理中想用“\-/”表示一个进度状态,好像“-”在翻滚那样,要怎样实现?
|
|
| 第2楼 不得不爱 | 发表于 2006-10-30 20:43 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
你的意思是一般执行DOS命令一边显示进度吗?
|
|
| 第3楼 youxi01 | 发表于 2006-10-30 21:55 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
@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 | 发表于 2006-10-30 22:06 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
很象早期的压缩软件的处理过程,精彩~:)
给youxi01加分~:) |
|
| 第5楼 不得不爱 | 发表于 2006-10-30 22:26 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
我也来个:
第二个: [ Last edited by qwe1234567 on 2006-10-30 at 10:34 PM ] |
|
| 第6楼 redtek | 发表于 2006-10-30 22:39 |
| 金牌会员 发帖 1,147 积分 2,902 | |
Originally posted by 9527 at 2006-10-30 22:23: 原来楼主想要好玩的动画啊~:) 转动的效果照样可以实现,俺认为没有做不到的事情:) 不仅仅是转动,就是做字处理插字、改都能~:)(要用到ASCII码特殊控置字符:) 在版主qwe1234567兄的代码的基础上加了一个退格功能:) ========== 注意: 请不要直接 COPY CON 文件名.bat 的方式COPY, ========== 因下面代码特殊控置字符,直接copy是拷贝不上的。 ========== 简单办法:COPY到Windows的记事本,然后另存为批处理文件,再执行。 “如果是转动的效果P处理是无法实现的”,实现了吧,嘻嘻…… [ Last edited by redtek on 2006-10-30 at 10:58 PM ] |
|
| 第7楼 redtek | 发表于 2006-10-30 22:48 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
你一定没试,它绝对是在(在原地)转动的效果!
楼主:“批处理中想用“\-/”表示一个进度状态,好像“-”在翻滚那样”, 绝是对这样的效果:) 每显示一个字符后,就后退一个格,然后再显示, (很多命令行软件的提示都是这样的原理!) 这样,因为速度和人的视觉差原因,会产生一个动画的(类似转动起来的效果), 和早期压缩软件的处理效果动画一样。 [ Last edited by redtek on 2006-10-30 at 10:51 PM ] |
|
| 第8楼 redtek | 发表于 2006-10-30 22:54 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
等等,我代码COPY错了,我这里好几个,弄混了,
不过原地转动效果真的可以,等一下。 |
|
| 第9楼 redtek | 发表于 2006-10-30 22:56 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
等等,……我又看了,不是我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 ] |
|
| 第10楼 redtek | 发表于 2006-10-30 23:00 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
直接下载,原地转动的批处理动画代码。
附件 q.rar (295 bytes) |
|
| 第11楼 youxi01 | 发表于 2006-10-31 00:37 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
兄弟愚劣,能否告知:
rem ASCII码的08就是退格特殊控制符 set 退格= 中的退格是怎么得到的? |
|
| 第12楼 redtek | 发表于 2006-10-31 01:15 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
) 第一种方法:
使用 MS-DOS自带的(WINDOWS CMD SHELL也有) ECIT.COM 编辑器得输入特殊控置符。 进入 EDIT.COM ,按 CTRL+P组合键,然后可以输入特殊字符: 如:退格键(让光标左移)控制符的ASCII码为 08, 则可以 ALT+08 (按住ALT键不入,然后按右侧小键盘上的0和8键,都输完了再松开ALT键。 注:CTRL+P只一次有效,如果再输入第二个控置字符,还得再按一次CTRL+P ) 第二种方法:用Debug得到 ) 象退格这种特殊控置字符,直接在命令行上输入 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 ] |
|
| 第13楼 youxi01 | 发表于 2006-10-31 01:24 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
非常感谢!
|
|
| 第14楼 3742668 | 发表于 2006-10-31 01:33 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
3,用VBS:
关于本主题的问题,其实在本版很早转载的一篇贴子(<深入挖掘Windows脚本技术>)里有提到过,现在看来领悟的朋友似乎比较少。 |
|
| 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |