[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
原帖由 bat007 于 2010-3-25 23:27 发表
@echo off
for /l %%a in (1,1,255) do (
    ping 127.0.0.%%a | find /i "Request timed out" >nul 2>&1 && echo ping 127.0.0.%%a
)


这个方法不错,但在这个上能不能实现这样:%%a取一位数时,写出来的是000而不是0,比如说是ping 127.0.0.000 ,而不是ping 127.0.0.0 。取1时是ping 127.0.0.001 ,而不是ping 127.0.0.1 。请各位指教。

TOP

回复 7楼 的帖子

对于普通用户来说,使用效果上没有什么不同。
在系统实现上来说,两者在句柄的复制及重定向上面有差别。
推荐使用2>&1
1

评分人数

TOP

原帖由 bat007 于 2010-3-25 23:27 发表

请教楼上
@echo off
>nul 2>&1
)


这个2>&1  ===  2>nul  吗?
    ╭╩═╮
╭╯G O ╠ 雁过留声
╰⊙═⊙╯

TOP

  1. @echo off
  2. for /l %%a in (1,1,255) do (
  3.     ping 127.0.0.%%a | find /i "Request timed out" >nul 2>&1 && echo ping 127.0.0.%%a
  4. )
复制代码

TOP

不会吧 ,无视我的存在,一定是我理解错了题意。 我闪。

TOP

这个代码烦了我很长时间了,希望各位帮我一下

TOP

下面是用来临时刷出域内实际存在的那些IP的。
我觉得手法会类似。
当执行的结果出现 Lost=1 也就是失败的时候 不显示该地址
相反则显示那个地址。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%a in (1,1,250) do (
  4. for /f "tokens=*" %%b in ('ping 192.168.1.%%a -n 1 -l 1 -w 1 ^|find /i "Lost"') do (
  5.   set now=%%b
  6.   set "now=!now:*Lost=!"
  7.   if "!now:1=!"=="!now!" (echo 192.168.1.%%a is on line) else (echo 192.168.1.%%a=NO)
  8. )
  9. )
  10. exit
复制代码

[ 本帖最后由 523066680 于 2010-3-25 20:55 编辑 ]

TOP

不知所言!!!!!!!!!!!!
有一种爱叫放弃

TOP

返回列表