![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 14:38 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]能否擦除显示过的内容? |
| 可打印版本 2,341 / 10 |
| 第1楼 brglng | 发表于 2005-08-31 12:24 |
| 银牌会员 发帖 466 积分 1,200 来自 上海 | |
|
[求助]能否擦除显示过的内容? 比如我在批处理中使用了一个pause命令,屏幕上显示“按任意键继续”,那能否在执行完pause之后将“按任意键继续”的字样擦除?
|
|
| 第2楼 Climbing | 发表于 2005-08-31 14:34 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
cls
|
|
| 第3楼 brglng | 发表于 2005-08-31 14:58 |
| 银牌会员 发帖 466 积分 1,200 来自 上海 | |
|
我不想清屏……
其实我只是想显示一段文字,在显示过程中每到满屏就提示按任意键继续,按后不留下提示信息,除了把文字内容写入一个文件再用more以外,不知还有没有别的方法可以不写入文件? |
|
| 第4楼 chenhui530 | 发表于 2005-08-31 15:15 |
| 高级用户 发帖 273 积分 772 | |
|
使用pause>nul
|
|
| 第5楼 Climbing | 发表于 2005-08-31 15:39 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
关键他还说要按任意键继续这个提示。比较难,除非自己写程序。
|
|
| 第6楼 JonePeng | 发表于 2005-08-31 16:20 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
|
用MSDOS 7.1启动盘里面的Writext程序就可以把那个提示“擦掉”。Writext 可以向屏幕任意位置输出字符串,经过测试,Writext好像不能输出空格字符,但可以用黑色字符来遮盖那个提示:
... pause writext -r 2- 1 -f0 "Press any key to continue..." ... |
|
| 第7楼 Climbing | 发表于 2005-08-31 17:44 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
是的,直接编程写显示的缓冲区应该是可以的。
|
|
| 第8楼 brglng | 发表于 2005-09-02 16:36 |
| 银牌会员 发帖 466 积分 1,200 来自 上海 | |
|
如果在2K/XP下有什么办法吗?
|
|
| 第9楼 willsort | 发表于 2005-09-02 17:06 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re brglng:
仍然不太明白你想擦除显示的目的何在。根据你在3楼的需求,是否可以按以下方案进行。 首先用cls清屏,然后用多个Echo显示一屏文字,然后用pause暂停;之后的第二屏内容,仍然可以用cls+echo+pause的组合,此时它不会显示上一屏的pause信息。 除非你的想法是保留上一屏的全部或部分内容,而仅删除pause信息,那么,可以在 2000/XP 下用 ANSI.SYS 提供的光标置位功能(ESC[行号;列号H),定位到pause信息行;然后与JonePeng兄的方案一样,写上一行空格或黑色字符(应该是指ASCII码值为256(0xFF)的字符);或者,也可以定位后直接输出新文本的内容,将自动覆盖pause信息。 |
|
| 第10楼 brglng | 发表于 2005-09-02 17:10 |
| 银牌会员 发帖 466 积分 1,200 来自 上海 | |
|
那还要用ANSI.SYS。纯粹在批处理中有什么办法吗?
|
|
| 第11楼 willsort | 发表于 2005-09-02 17:22 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re brglng:
你的要求未免太苛刻了些!这样的话,可以参照以下的示意代码: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |