标题: [特效代码] 批处理set/p=<nul命令的这个用法是什么意思? [打印本页]
作者: akkk 时间: 2010-11-28 18:55 标题: 批处理set/p=<nul命令的这个用法是什么意思?
本帖最后由 pcl_test 于 2016-11-26 14:45 编辑
for /l %%a in (1,1,4) do (for /l %%i in (0,1,%%a) do (>>con set/p= <nul)
作者: hanyeguxing 时间: 2010-11-28 20:22
原帖由 akkk 于 2010-11-28 18:55 发表
for /l %%a in (1,1,4) do (for /l %%i in (0,1,%%a) do (>>con set/p= <nul)
1,楼主复制的命令不完整,因为括号不成对
2,set/p= <nul,不换行的连续显示空格
3,没有特殊原因时,在cmd即命令解释器下不需要>>con,因为默认是直接输出到屏幕(con)的
作者: akkk 时间: 2010-11-28 20:36
for /l %%a in (1,1,4) do (for /l %%i in (0,1,%%a) do (>>con set/p= <nul)
echo *
ping -n 0 127.1>nul) 完整的就是这样了 请在帮分析一下 谢谢
作者: hanyeguxing 时间: 2010-11-28 21:35
在xp下的批处理这样写:- @echo off
- for /l %%a in (1,1,4) do (
- for /l %%i in (0,1,%%a) do set/p= <nul
- echo *
- ping -n 0 127.1 >nul
- )
- pause>nul
复制代码
for /l %%a in (1,1,4) do 循环执行4次,所以显示时看到4行,同时%%a的值依次为1、2、3、4
for /l %%i in (0,1,%%a) do 也是循环执行,分别是执行2、3、4、5次,每次均执行set/p= <nul即不换行的显示一个空格。连起来就是分别显示2、3、4、5个空格
echo *显示一个*字符并换行
ping -n 0 127.1>nul延迟时间
这样整个批处理就是显示4行,分别是2、3、4、5个空格加一个*字符
[ 本帖最后由 hanyeguxing 于 2010-11-28 23:21 编辑 ]
作者: wc726842270 时间: 2010-11-28 21:56 标题: 回复 4楼 的帖子
请教一下,为什么这里用的是ping /n 0.127.1呢,N不是代表PING的次数么,这里是0还会有效果么?
作者: hanyeguxing 时间: 2010-11-28 22:08
有效果,和ping /n 1.127.1的延迟时间一样。
作者: akkk 时间: 2010-11-28 23:01
ping -n 0 127.1 我试了一下 提示:Bad value for option -n, valid range is from 1 to 4294967295. 说明ping -n 0 这个命令是不能通过了 我的是xp sp3
作者: hanyeguxing 时间: 2010-11-28 23:22
在这里的“ping -n 0 127.1 >nul”,我们并不关心他的输出结果是什么,只关心他完成这个命令所需要的时间,因为他在这里起延迟时间的作用
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |