标题: [代码合集] [已解决]批处理中为何要使用一个错误的ping命令来延时 [打印本页]
作者: kally11112 时间: 2008-8-16 01:23 标题: [已解决]批处理中为何要使用一个错误的ping命令来延时
举个例子:- @echo off
- 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却可以达到所要效果,但是偶尔居然也出错,但多数时候是可以的,这究竟是什么问题呢?请诸位为我解答下.谢谢.
作者: Batcher 时间: 2008-8-16 02:54
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.
自己看看结果不就知道了?
另,建议少用&&或者&(尤其是像你的例子中那样用),大大降低代码的可读性,是个非常不好的编程习惯。
作者: kally11112 时间: 2008-8-16 12:07 标题: 回复 2楼 的帖子
但是ping /n 0 127.1在教程的例子中出现过,我觉得还是有一点作用的,用组合命令是因为我在c中调用的dos命令,图个方便,因为用的system函数,在这方面我并不熟,我只想知道为什么有时候会用/n 0这样的参数?
作者: Batcher 时间: 2008-8-16 12:15
/n 0会造成ping命令出错,在批处理动画中有时会用到这个方法来延时。
其实除了ping以外,你用其它命令也可以,只要能保证命令出错就行了。
作者: kally11112 时间: 2008-8-16 12:24 标题: 回复 4楼 的帖子
好的,谢谢楼上的解释.
作者: a590687 时间: 2010-1-11 09:06
这样啊, 学习了.出错也有用处.
原帖由 Batcher 于 2008-8-16 12:15 发表
/n 0会造成ping命令出错,在批处理动画中有时会用到这个方法来延时。
其实除了ping以外,你用其它命令也可以,只要能保证命令出错就行了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |