中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 14:48
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 批处理新手 查看 1,224 回复 6
楼 主 批处理新手 发表于 2007-01-03 23:19 ·  中国 江苏 苏州 电信
新手上路
积分 16
发帖 6
注册 2006-03-30 16:44
20年会员
UID 53065
状态 离线
请教一下这段用for语句怎么实现
echo ##
echo y|pause >nul
cls

echo ###
echo y|pause >nul
cls

echo ####
echo y|pause >nul
cls

echo #####
echo y|pause >nul
cls

echo ######
echo y|pause >nul
cls

echo #######
echo y|pause >nul
cls

echo ########
echo y|pause >nul
cls

echo #########
echo y|pause >nul
cls

echo ###########
echo y|pause >nul
cls

echo ############
echo y|pause >nul
cls

echo #############
echo y|pause >nul
cls

echo ##############
echo y|pause >nul
cls

echo ###############
echo y|pause >nul
cls
2 发表于 2007-01-04 01:42 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线

@echo off

for /l %%a in (1,1,10) do (
cls
for /l %%b in (1,1,%%a) do (
>>con set /p=* <nul
)
::echo.
ping -n 2 127.1>nul
)
echo y|pause>nul
3 发表于 2007-01-04 02:12 ·  中国 江苏 苏州 电信
新手上路
积分 16
发帖 6
注册 2006-03-30 16:44
20年会员
UID 53065
状态 离线
太感谢了
4 发表于 2007-01-04 02:15 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
不必客气
努力加油吧

其实我不是干计算机这一行的
我想你是吧

呵呵
5 发表于 2007-01-04 07:05 ·  中国 江苏 苏州 电信
新手上路
积分 16
发帖 6
注册 2006-03-30 16:44
20年会员
UID 53065
状态 离线
我在一家电脑公司混
你不是干计算机这一行都这么厉害,佩服

可否把这一句解释一下,我不太懂
>>con set /p=* <nul
6 发表于 2007-01-05 01:49 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
>>con那是向屏幕(也就是标准输出设备)输出*,同时后面还有一个空格,看到了吗?

<nul 是说,输出不换行,以后的输出就直接放在* 后面了,

这样,循环几次,那么就会有几个* 输出。

你可以自己是一次这个:

@echo off
echo going....
for /l %%i in (1,1,12) do (
>>con set /p=* *<nul
)
pause

看看书不是共有12个"* *"输出在同一行阿?

关于这个,你可以在论坛上搜索,我以前发的一篇文章,高手们回答的
所以我就用来回答你的问题了

呵呵
7 发表于 2007-01-05 02:10 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  命令行执行:

(for /l %a in (1 1 10) do @(for /l %b in (1 1 %a) do @set/p=# <nul)&echo.)
论坛跳转: