Board logo

标题: 批处理能实让光标停在屏幕任意位子吗? [打印本页]

作者: 740011611     时间: 2009-12-16 18:39    标题: 批处理能实让光标停在屏幕任意位子吗?

我想在屏幕上显示一段文字后,光标又回到第一行,第二列的位子。比如说在屏幕上显示完第一列字后,光标就回到第一行第二列的位子。
作者: Hanyeguxing     时间: 2009-12-17 00:17
在批处理中:
1,使用cls,再用set/p= 输出一个空格,这个时候光标就停留在这里了。
2,如果输出的字数是已知的,则可以使用退格符。。。
作者: 740011611     时间: 2009-12-17 11:33    标题: 批处理能实让光标停在屏幕任意位子吗?

可以举个例子吗?例如我想得到这样的结果:
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 ]
作者: 740011611     时间: 2009-12-17 21:43
你误解我的意思了。。
我是说输出第一行第一列后,
光标本该在别处,我现在想让光标回到第一行第二列的位子!

作者: Hanyeguxing     时间: 2009-12-17 23:52
我说的退格符是指字符“”,不是退格键。

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 ]
作者: 740011611     时间: 2009-12-18 17:27
@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的后面(也就是第一行第二列的位子),然后开始下一列的输出?
作者: 740011611     时间: 2009-12-18 18:05
还有你的个性签名也不错喔,怎么弄的啊?
作者: 740011611     时间: 2009-12-20 12:06
waitng...........有没有人能告诉我啊?快过年了,满足暗这个愿望吧,即使不能实现,也说一下啊。

[ Last edited by 740011611 on 2009-12-20 at 12:51 ]
作者: slore     时间: 2009-12-21 12:52
3方。。。
作者: 523066680     时间: 2009-12-21 18:34
直接上手C语言做吧~ gotoxy
作者: 740011611     时间: 2009-12-23 22:43
暗潜水去了,继续学习中。。看旧帖!