找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22994|回复: 2

[网络连接] [已解决]局域网ip扫描的批处理代码怎样改进?

[复制链接]
发表于 2012-5-8 10:24:15 | 显示全部楼层 |阅读模式
刚学会不久for 命令,为了巩固,所以写了以下代码。但发现其效率不高。特在此求助各位大大……
希望帮我美化它
希望帮我简化它
希望帮我提高它的效率。
@echo off&title scan ip by 李进&color 1f&mode con lines=20 cols=80
setlocal enabledelayedexpansion
set /p start=startip:
set /p end=endip:
cls
echo !start! >startip.tmp
echo !end! >endip.tmp
echo 扫描中,请稍候……
for /f "tokens=4 delims=." %%i in (startip.tmp) do (
set snum=%%i
)
for /f "tokens=4 delims=." %%j in (endip.tmp) do (
set enum=%%j
)
for /f "tokens=1,2,3 delims=." %%k in (endip.tmp) do (
set fnum=%%k.%%l.%%m
)
for /l %%i in (!snum! 1 !enum!) do (
set ti=!fnum!.%%i
title 扫描!ti!……
ping /n 1 !ti! | findstr /i "reply"&&if "%errorlevel%" == "0" echo !ti! >>now.tmp
)
cls
if not exist now.tmp call :end else call :yes
:yes
echo 存活主机:
for /f %%i in (now.tmp) do (

echo %%i
)
endlocal
del /a /q *.tmp
echo 扫描结束,按任意键退出……&pause>nul
)
goto :eof
:end
endlocal
echo 没有发现存活的主机。
del /a /q *.tmp
echo 扫描结束,按任意键退出……&pause>nul
exit
goto :eof

还有,我对findstr掌握得不好,哪位大大给点资料?
谢谢!
不胜感激!
嘻嘻!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-5-8 10:30:34 | 显示全部楼层
回复 1# lijinpengying

看看这个帖子, 扫描的效率很高的:
[已解决]查找当前在线的IP的批处理如何提高效率
http://www.bathome.net/redirect. ... 1&fromuid=45865
 楼主| 发表于 2012-5-8 11:09:04 | 显示全部楼层
回复 2# neorobin


    不甚感激!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:01 , Processed in 0.020735 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表