Board logo

标题: 批处理新手 [打印本页]

作者: wqh1981     时间: 2007-1-3 23:19    标题: 批处理新手

请教一下这段用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
作者: scriptor     时间: 2007-1-4 01:42

@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

作者: wqh1981     时间: 2007-1-4 02:12
太感谢了
作者: scriptor     时间: 2007-1-4 02:15
不必客气
努力加油吧

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

呵呵
作者: wqh1981     时间: 2007-1-4 07:05
我在一家电脑公司混
你不是干计算机这一行都这么厉害,佩服

可否把这一句解释一下,我不太懂
>>con set /p=* <nul
作者: scriptor     时间: 2007-1-5 01:49
>>con那是向屏幕(也就是标准输出设备)输出*,同时后面还有一个空格,看到了吗?

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

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

你可以自己是一次这个:

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

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

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

呵呵
作者: lxmxn     时间: 2007-1-5 02:10
  命令行执行:
(for /l %a in (1 1 10) do @(for /l %b in (1 1 %a) do @set/p=# <nul)&echo.)