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

[代码合集] [已解决]批处理中为何要使用一个错误的ping命令来延时

举个例子:
  1. @echo off
  2. echo xingxi >d:\xx.txt && start notepad d:\xx.txt && ping /n 1 127.1 >nul && del d:\xx.txt
复制代码
这样的话会显示窗口记事本,其中内容为xingxi,并在硬盘中删除文件xx.txt但是如果把上面改成ping /n 0 127.1>nul则硬盘中不会删除,我试想他的原因应该是没有执行到del d:\xx.txt,因为&&的是遇到错误则不执行后面的命令,那么ping /n 0 127.1>nul是不是一条错误的命令呢?但是如果把&&改成& ,则使用ping /n 0 127.1>nul却可以达到所要效果,但是偶尔居然也出错,但多数时候是可以的,这究竟是什么问题呢?请诸位为我解答下.谢谢.

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Test>ping /n 0 127.1
Bad value for option /n, valid range is from 1 to 4294967295.


自己看看结果不就知道了?
另,建议少用&&或者&(尤其是像你的例子中那样用),大大降低代码的可读性,是个非常不好的编程习惯。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2楼 的帖子

但是ping /n 0 127.1在教程的例子中出现过,我觉得还是有一点作用的,用组合命令是因为我在c中调用的dos命令,图个方便,因为用的system函数,在这方面我并不熟,我只想知道为什么有时候会用/n 0这样的参数?

TOP

/n 0会造成ping命令出错,在批处理动画中有时会用到这个方法来延时。
其实除了ping以外,你用其它命令也可以,只要能保证命令出错就行了。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4楼 的帖子

好的,谢谢楼上的解释.

TOP

这样啊, 学习了.出错也有用处.
原帖由 Batcher 于 2008-8-16 12:15 发表
/n 0会造成ping命令出错,在批处理动画中有时会用到这个方法来延时。
其实除了ping以外,你用其它命令也可以,只要能保证命令出错就行了。

TOP

返回列表