标题: 请问ping -n 1 127.1>nul是什么意思
[打印本页]
作者: sglxy
时间: 2006-10-25 02:15
标题: 请问ping -n 1 127.1>nul是什么意思
如题:在好几个批处理文件中看到“ping -n 1 127.1>nul”这个语句,请问ping -n 1 127.1>nul是什么意思?高手们能给讲讲吗?
作者: vkill
时间: 2006-10-25 02:17
开始/运行 hh ntcmds.chm::/ntcmds.htm
作者: 9527
时间: 2006-10-25 02:20
主要是起到延时的作用,其他好像没有了 127.1这个是本机的回环地址相当于127.0.0.1 不光127.0.0.1 可以写成127.1的形式,其他的IP地址类型也是可以的,例如: 61.0.0.28也是可以写诚61.28的形式的
作者: sglxy
时间: 2006-10-25 02:28
原来如此,谢谢两位朋友了!
作者: lxmxn
时间: 2006-10-25 08:23
关于 ping -n 1 127.1>nul:
1、ping是测试网络连接性的网络命令,参数"-n 1"表示只发送一次ICMPS数据包来测试网络的连接性。
2、127.1表示本机保留IP地址,实际就是127.0.0.1,ping 127.1就表示ping 127.0.0.1,可以测试网卡及TCP/IP协议是否正常安装及工作。
3、">nul"表示把命令产生的屏幕显示信息重定向(>)到空设备(nul),这样在屏幕上就没有显示ping命令的执行结果了。如果想屏蔽出错信息,可以用">nul 2>nul"屏蔽一切屏幕输出。
作者: xyxFlysky
时间: 2006-10-25 10:38
如果想屏蔽出错信息,可以用">nul 2>nul"屏蔽一切屏幕输出。
这句不太理解 -_-
作者: lxmxn
时间: 2006-10-25 11:04
Re:xyxFlysky
这个">nul 2>nul"可以屏蔽一切屏幕的输出可以这样理解:
假如你执行一个命令,但是不想在屏幕里看到这个命令的执行情况,可以使用"[命令]>nul"就可以屏蔽命令在屏幕上的输出了,但是有的命令执行会出错,即使用了">nul"也不能屏蔽命令产生的信息,所以就在后面加" 2>nul"这个,就是"[命令]>nul 2>nul",这样,不管命令是否正确的运行,都不会在屏幕看到这个命令所产生的屏幕显示了。
我们举一个简单的例子吧。
用"dir"命令可以显示当前目录的文件及文件夹列表,这时如果用"dir>nul",你就看不见dir命令执行的屏幕输出了,那么你再键入"dirr"会是什么情况呢?这时会显示" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。",这时你也许会用"dirr>nul"来屏蔽这个错误提示,但是告诉你,你的猜想是错的,因为依然会出现" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。"这个错误提示,这时如果你用"dirr>nul 2>nul"的话,你就在屏幕上看不到上面的出错提示了。不知道你再明白了没有。
如果你想了解更多的关于nul的说明,可以在论坛里面搜索一下,可以搜索到willsort兄详细及精彩的关于nul用法的解说的。
[
Last edited by lxmxn on 2006-10-26 at 12:33 AM ]
作者: sglxy
时间: 2006-10-25 18:55
Quote: |
Originally posted by lxmxn at 2006-10-25 11:04 AM:
Re:xyxFlysky
这个">nul 2>nul"可以屏蔽一切屏幕的输出可以这样理解:
假如你执行一个命令,但是不想在屏幕里看到 ... |
|
lxmxn兄的讲解非常详细让我明白了以前百思不得其解的疑团,真的非常感谢你的耐心指点,谢谢!
作者: redtek
时间: 2006-10-25 20:45
例子举得真生动,欣赏~:)
作者: amao
时间: 2006-10-26 00:05
lxmxn兄头像很酷,其本人也很有耐心,赞一个
作者: inhell
时间: 2006-10-26 03:00
如果懂linux的话 就很好理解空设备的概念了
作者: yangzhiyi
时间: 2006-10-29 00:49
ping -n 1 127.1>nul 这句怎么用啊,我正想要这样差不多的用法,
即执行 ping -n 1 127.1>nul 它会没任何信息,那么执行它干嘛?
贴上原文看看好吗
[
Last edited by yangzhiyi on 2006-10-29 at 12:51 AM ]
作者: zerocq
时间: 2006-10-29 00:53
Quote: |
Originally posted by yangzhiyi at 2006-10-29 00:49:
ping -n 1 127.1>nul 这句怎么用啊,我正想要这样差不多的用法,
即执行 ping -n 1 127.1>nul 它会没任何信息,那么执行它干嘛?
贴上原文看看好吗
[[i ... |
|
利用ping命令让脚本运行延时,就是等待多少秒再运行下边的
精确度不知道:D
我用wscript.sleep:D
作者: yangzhiyi
时间: 2006-10-29 01:02
狂,批命令分步执行的还需用到延时,通常都是用转跳吧,用ping -n 1 127.1>nul 来延时更狂。
作者: zhwvip
时间: 2006-10-29 01:11
等到明年吗?
作者: zerocq
时间: 2006-10-29 01:13
Quote: |
Originally posted by yangzhiyi at 2006-10-29 01:02:
狂,批命令分步执行的还需用到延时,通常都是用转跳吧,用ping -n 1 127.1>nul 来延时更狂。 |
|
有些命令得到结果比较慢,偏偏下一步要用到结果的话要延时一下再运行下一步
不可能不停跳转跳来跳去吧o.o
作者: zhwvip
时间: 2006-10-29 01:26
Quote: |
Originally posted by zerocq at 2006-10-29 01:13:
有些命令得到结果比较慢,偏偏下一步要用到结果的话要延时一下再运行下一步
不可能不停跳转跳来跳去吧o.o |
|
一般可以 start /w来解决等待结果的情况把?
作者: lxmxn
时间: 2006-10-29 02:33
Quote: |
一般可以 start /w来解决等待结果的情况把? |
|
用 start 命令会重新开一个CMD窗口或者其它的程序窗口,这样在某些情况下面是不合适的。
而在很多情况下,用 ping 命令可以起到一定的效果,而且时间可以随意由你设定,虽然精确度不是很好。在批处理中,还是有很多地方用到 ping 命令来达到延时的目的的。
作者: wjdbar
时间: 2006-10-29 03:23
不错啊 值得表扬!~
作者: yangzhiyi
时间: 2006-10-29 03:30
如果在批命令中 跟本不需要延时
结果比较慢,偏偏下一步要用到结果 ???这步未执行完就不会到下一步,如果这步完成了,下一步也有结果可用了,DOS命令只有一个指针的啊,
如果在批处理中调用了其它程序或文件,start /w 就行,没有什么新窗口问题的。
我只知道用 choice 延时后自动输入值,
这个延时我真不知道怎么应用。
如果想多个批处理同时运行,所得的结果需要相互使用,这像的应用应该是错误的,难道这就是DOS下的多线程。
作者: tianzizhi
时间: 2006-10-29 04:06
choice 延时 : choice /t 120 /d y
延时单位为秒,上面即延时 120秒.
作者: lxmxn
时间: 2006-10-29 07:46
如果一个命令执行得比较慢,而下一个命令要利用这个命令的结果,那么可以利用一下命令连接符"&&"和"||",比如:"command 1 && command 2 || command",这样,如果command 1执行成功之后,才执行command 2,如果不执行不成功的话,就执行command 3,也可以理解成command 2只有在command 1执行成功之后才执行。
作者: yangzhiyi
时间: 2006-10-29 08:18
Quote: |
Originally posted by lxmxn at 2006-10-29 07:46:
如果一个命令执行得比较慢,而下一个命令要利用这个命令的结果,那么可以利用一下命令连接符"&&"和"||",栮.. |
|
但是command 3 也要在command 1 执行完后才执行啊。
作者: lxmxn
时间: 2006-10-29 08:25
Quote: |
Originally posted by yangzhiyi at 2006-10-29 08:18:
但是command 3 也要在command 1 执行完后才执行啊。 |
|
那你的目的是想实现什么呢?
作者: yangzhiyi
时间: 2006-10-29 08:44
呵呵,我已理解 这命令有什么用了。
作者: lizaoyou
时间: 2007-2-10 05:55
win98或纯dos不支持>nul 2>nul,怎样实现屏蔽一切屏幕输出呢?
作者: qzwqzw
时间: 2007-2-10 06:00
ctty nul
恢复用 ctty con
作者: lizaoyou
时间: 2007-2-10 06:22
谢qzwqzw指点!解决了我多时的难题。
作者: csx163
时间: 2007-2-10 14:19
想不通为什么直接在DOS下是| 而BAT却需要||
作者: kwxsuper
时间: 2007-2-16 14:08
学习了>nul,,,,好东西
作者: gne3
时间: 2007-2-17 00:20
dir>nul 2>nul
中的2是上一个返回值在重定向到nul的意思。
我知道的呵呵
作者: mmyy525
时间: 2007-3-5 00:39
顶!学习了!
作者: blue812
时间: 2007-3-5 05:52
很仔细,学习了.谢谢!!!!!!!!!!!!
作者: wxjclh
时间: 2007-3-5 07:23
一直看不懂,终于明白了。感谢33楼以前的,尤其是lxmlxm!
作者: leoson88
时间: 2007-3-7 02:07
可以理解为>NUL屏蔽了正确返回信息
2>NUL屏蔽了错误返回的信息
作者: chengfdn
时间: 2007-3-7 04:37
又学一招,谢谢
作者: needalfan
时间: 2007-3-17 06:06
写得好啊!点点滴滴的学习。。。
作者: jianyaogao
时间: 2007-3-17 21:05
xue le heng duo o
作者: 574855721
时间: 2007-3-18 01:09
哦!
茅塞顿开啊!!!!
作者: 574855721
时间: 2007-3-18 01:11
如果还有不懂的看看这个批处理@echo off&mode con cols=80 lines=13&title,【%~n0】&setlocal,EnableDelayedExpansion&color 02
set a=To***:
set b=距离不代表分离,没联系不代表忘记,没通电话不代表冷落。祝你生日快乐,圣诞快乐,新年快乐,永远快乐……
set c= ------ by ***
set d= 2007-3-16
echo/&echo\
for %%i in (a b c d) do (
set/p= <nul
for /l %%a in (0,1,100) do (
if not "!%%i:~%%a,1!"=="" (
if %%a==24 echo.&echo;
set/p= !%%i:~%%a,1!<nul
ping 127.1 -n 1 >nul
)
)
echo;&echo;
)
for /l %%i in (0x1,0x1,0x9) do (
set /a b=%%i ">>" 1
::call :modify %%i
set a=%%i
color !a!!b!
ping 127.1 -n 2 >nul)
ping 127.1 -n 3 >nul
goto :print
:end
echo.&echo.
ping 127.0.0.1 -n 7 >nul 2>nul
goto :eof
:print
cls&color 04&echo\&echo\&echo\&for /f "delims=" %%a in ('more +38 %0') do echo %%a
mshta vbscript:CreateObject("SAPI.SpVoice").Speak("Happy birthday to you!")(Window.close)
goto :end
iiiiiiiiiiiiiiiiiii 祝 ***:
|||||||||||||||||||||||
__|______H_a_p_p_y______|__ 生日快乐
|\/\/\/\/\/\/\/\/\\/\/\/\/\/|
|||||| B i r t h d a y |||||| 天天开心……
|,,,,,,,,,,,,,,,,,,,,,,,,,,,|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 越来越漂亮……
--------------------------------------------------------------------------------
作者: axi
时间: 2007-3-22 06:09
mshta vbscript:CreateObject("SAPI.SpVoice").Speak("Happy birthday to you!")(Window.close)
此句能使批处理发声,精彩极!
作者: swallow
时间: 2007-3-26 09:22
又学到点东西,今天没白过。嘿嘿!
作者: hy433124shc
时间: 2007-4-2 05:28
Quote: |
Originally posted by axi at 2007-3-21 05:09 PM:
mshta vbscript:CreateObject("SAPI.SpVoice").Speak("Happy birthday to you!")(Window.close)
此句能使批处理发声,精彩极! |
|
语速太快,发音不太对,不能发拼音,
以上不足能解决吗?
希望高手给说下!
作者: minmin888
时间: 2007-4-20 08:55
学到东西!多谢高手!
作者: tongwandou
时间: 2007-4-20 09:01
我也明白了!
作者: Vampire
时间: 2007-4-20 09:43
40楼的那个批处理例子让人热血沸腾啊……
作者: lxmxn
时间: 2007-4-20 23:54
To 40楼:
转我的帖子请注明原作者,OK?
原处在这里:
http://www.cn-dos.net/forum/viewthread.php?tid=26633&fpage=1
作者: windy
时间: 2007-5-17 19:53
经典啊!学习了!up!
作者: firefox
时间: 2007-7-8 18:02
很经典,谢谢lxmxn和各位了。
茅塞顿开。。
作者: Li103Z
时间: 2007-11-18 09:43
太棒了,收藏
作者: huahua0919
时间: 2007-11-18 12:19
1为 标准设备输出,一般为屏幕输出(STDOUT)
2为 错误输出(ERROUT)
所以上面的还可以 dir 1>nul 2>nul (不要1的原因是系统默认是标准输出)
作者: jsline
时间: 2007-11-21 22:01
学习....
作者: ldr2zjj
时间: 2007-11-22 22:03
好强啊`~~~顶了`~~学会了好多啊`~~但是我还有一个问题`~就是
命令>nul
是屏蔽信息的``那他会执行吗??他跟@echo off 有什么分别???
作者: wantflying
时间: 2007-11-22 23:46
学习....
作者: INeverAsk
时间: 2007-11-23 07:28
实例分解最适合我这样的新手了.
作者: che11n
时间: 2007-11-26 00:06
又学到了东西..
作者: wyangwo
时间: 2007-11-26 09:31
lxmxn讲的真详细,受用了
作者: sbqwww
时间: 2007-11-28 10:51
明白了,谢谢兄弟啊
作者: vipchenlang
时间: 2007-12-2 14:58
恩,不错不错
作者: Jneny
时间: 2007-12-2 19:14
那个是发声的批处理是怎么搞的, 现在还没有搞明白。
NUL 确实用处很大。
作者: icydawn
时间: 2007-12-2 19:43
用ping -n 1 127.1>nul 是用来延迟的!!
一般的批处理要是进行循环的话,不需要那么高的执行频率,往往5-10s就可以了,但是你不加延迟,不断执行有些指令会占用很多的CPU资源.寻求一个平衡!
作者: airufo
时间: 2007-12-3 16:27
xuexue
作者: 8277533
时间: 2007-12-22 00:26
我喜欢这种解释方法再自己去实践一下
作者: bbs4033
时间: 2008-1-6 17:36
学习了
作者: hsyxh
时间: 2008-2-14 20:17
学会了nul的使用,哈哈。
作者: woshiff
时间: 2008-2-15 20:23
5,够猛
作者: yuehong
时间: 2008-3-5 16:54
学习了,非常感谢
作者: lbccyxs
时间: 2008-3-14 17:10
好。收藏了。
作者: shuiyin313
时间: 2008-3-15 00:59
nul是内部参数吗?
为什么会在各版本的DOS下都会出现?
是不是于C&C++中NULL类似?
作者: shuiyin313
时间: 2008-3-15 01:01
对了 还问个比较低级的问题
是不是DELAY.EXE的原理也和ping -n 1 127.1>nul 一样 或者就是这样做的呢?
作者: lxmxn
时间: 2008-3-15 01:11
标题: RE shuiyin313:
1、nul 不是什么参数,只是DOS/Windows下面的设备名,表示空设备,什么都没有,可以理解成宇宙中的黑洞。
2、Delay.exe 的原理肯定是不是通过ping来实现的了,想知道原理的话可以反汇编Delay.exe来看看它的反汇编代码来分析分析。
作者: shuiyin313
时间: 2008-3-18 03:35
Quote: |
Originally posted by lxmxn at 2008-3-15 01:11 AM:
1、nul 不是什么参数,只是DOS/Windows下面的设备名,表示空设备,什么都没有,可以理解成宇宙中的黑洞。
2、Delay.exe 的原理肯定是不是通过ping来实 ... |
|
thank you for your answer.
作者: smtdd
时间: 2008-3-24 23:45
这里的人很热情...哈哈
感谢!学习了!!非常感谢!!!
作者: wkanging
时间: 2008-12-10 11:11
的确学到不少,但还是立足于际工作应用中就好!