中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » set/p=*<nul进行循环产生的怪异结果
作者:
标题: set/p=*<nul进行循环产生的怪异结果 上一主题 | 下一主题
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『楼 主』:  set/p=*<nul进行循环产生的怪异结果

原想打印出如下图形
*
***
*****
*******
*****
***
*
编了如下程序
@echo off& setlocal enabledelayedexpansion
for /l %%i in (1,2,13) do (
       if defined flag (set/a n-=2) else set/a n=%%i
       for /l %%k in (1,1,!n!) do set /p=*<nul      
       echo.
       if !n! geq 7 set flag=a
)
echo.&pause

显示结果为
*   
*     *      *
*     *      *      *      *
*     *      *      *      *      *      *
*     *      *      *      *
*     *      *
*  
自己看了半天,是在找不出来原因
哪位帮忙看一下?



人生有如此多东西值得去学!
2009-6-1 05:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 2 楼』:  

你的 set /p=*<nul 后面多了个空格

   此帖被 +9 点积分       点击查看详情   
评分人:【 moniuming 分数: +9  时间:2009-6-2 11:31




致精致简!
2009-6-1 06:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyzr
新手上路





积分 11
发帖 10
注册 2008-11-25
状态 离线
『第 3 楼』:  

set /p=*<nul 後面空格有什麼用?

2009-6-1 08:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『第 4 楼』:  

确实是多了个空格的原因,在set/p=*<nul 后加了回车后效果就出来,但是这原因是什么?还望哪位解答一下!
我曾经专门在记事本中测试过空格行,空格对命令效果的影响,但也无法解释上述问题....

[ Last edited by jlty258 on 2009-6-1 at 12:15 ]



人生有如此多东西值得去学!
2009-6-1 12:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 5 楼』:  

原因很简单
因为cmd认为set /p set /p=*<nul(空格)与set /p=*(空格)<nul是一样的
这源于cmd的预处理机制

   此帖被 +17 点积分       点击查看详情   
评分人:【 cad55 分数: +8  时间:2009-6-2 00:02
评分人:【 moniuming 分数: +9  时间:2009-6-2 11:31


2009-6-1 22:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『第 6 楼』:  

原来如此,突然想起<nul是不忌放置地点的,放在最后与中间其实没区别



人生有如此多东西值得去学!
2009-6-2 01:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: