中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理能实让光标停在屏幕任意位子吗?
作者:
标题: 批处理能实让光标停在屏幕任意位子吗? 上一主题 | 下一主题
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『楼 主』:  批处理能实让光标停在屏幕任意位子吗?

我想在屏幕上显示一段文字后,光标又回到第一行,第二列的位子。比如说在屏幕上显示完第一列字后,光标就回到第一行第二列的位子。

2009-12-16 18:39
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

在批处理中:
1,使用cls,再用set/p= 输出一个空格,这个时候光标就停留在这里了。
2,如果输出的字数是已知的,则可以使用退格符。。。



批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-12-17 00:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 3 楼』:  批处理能实让光标停在屏幕任意位子吗?

可以举个例子吗?例如我想得到这样的结果:
1  4  
2  5
3  6


以上是想在屏幕上显示的数字,显示完后光标停在6后面,如何让光标停在第一行第三列的位子?
期待高手解决,谢谢啦!
我试了一下,用set /p= 只能这样显示:
1   
2  
3  
     4
     5
     6
能不能让它们对齐?就是在屏幕上显示完 1 2 3后,光标移到1的后面显示4 5 6?
急切等待中.............Sample Text

[ Last edited by 740011611 on 2009-12-17 at 21:33 ]

2009-12-17 11:33
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 4 楼』:  

你误解我的意思了。。
我是说输出第一行第一列后,
光标本该在别处,我现在想让光标回到第一行第二列的位子!


2009-12-17 21:43
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 5 楼』:  

我说的退格符是指字符“”,不是退格键。

1,如果后面或下面还有字符,光标最终是不能停留到中间某位置的。
2,你的要求,完全可以通过输出:
echo 1 4
echo 2 5
echo 3 6
来实现。至于对齐,可以通过计算字符个数以填充中间空格来操作,或者使用水平制符。
水平制表符在文本文档中一个主要的作用,就是用来对齐的。例如:
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1 1 6) do set n%%i=!RANDOM!
echo %n1%        %n4%
echo %n2%        %n5%
echo %n3%        %n6%
pause
说明:%n1%        %n4%之间是一个制表符,不是空格,其他的也是如此。
因为变量%RANDOM%每次被扩展时,都返回 0 到 32767 之间的任意十进制数字,即n的位数从1到5随机,但因为中间为水平制表符,所以n4,n5,n6是字首对齐的。

[ Last edited by Hanyeguxing on 2009-12-18 at 00:06 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-12-17 23:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 6 楼』:  

@echo off&setlocal enabledelayedexpansion
set str=12345
for /l %%i in (0 1 4) do (
echo !str:~%%i,1!&ping -n 1 127.1>nul
)
set /p=<nul
pause>nul  
  

以上在屏幕输出后,光标在数字5下面。如何让光标回到数字1的后面(也就是第一行第二列的位子),然后开始下一列的输出?

2009-12-18 17:27
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 7 楼』:  

还有你的个性签名也不错喔,怎么弄的啊?

2009-12-18 18:05
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 8 楼』:  

waitng...........有没有人能告诉我啊?快过年了,满足暗这个愿望吧,即使不能实现,也说一下啊。

[ Last edited by 740011611 on 2009-12-20 at 12:51 ]

2009-12-20 12:06
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:  

3方。。。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-12-21 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 10 楼』:  

直接上手C语言做吧~ gotoxy



综合型编程论坛

我的作品索引
  
2009-12-21 18:34
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
740011611
初级用户





积分 96
发帖 83
注册 2009-6-4
来自 信阳
状态 离线
『第 11 楼』:  

暗潜水去了,继续学习中。。看旧帖!

2009-12-23 22:43
查看资料  发送邮件  发短消息 网志  OICQ (740011611)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: