[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 批处理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)

在这里的“ping -n 0 127.1 >nul”,我们并不关心他的输出结果是什么,只关心他完成这个命令所需要的时间,因为他在这里起延迟时间的作用
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

ping -n 0 127.1 我试了一下 提示:Bad value for option -n, valid range is from 1 to 4294967295. 说明ping -n 0 这个命令是不能通过了 我的是xp sp3

TOP

有效果,和ping /n 1.127.1的延迟时间一样。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 4楼 的帖子

请教一下,为什么这里用的是ping /n 0.127.1呢,N不是代表PING的次数么,这里是0还会有效果么?

TOP

在xp下的批处理这样写:
  1. @echo off
  2. for /l %%a in (1,1,4) do (
  3.           for /l %%i in (0,1,%%a) do set/p= <nul
  4.           echo *
  5.           ping -n 0 127.1 >nul
  6. )
  7. 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 编辑 ]
2

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

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)       完整的就是这样了  请在帮分析一下 谢谢

TOP

原帖由 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)的
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表