标题: [网络连接] 批处理如何判断IP是否在IP段? [打印本页]
作者: kav0123 时间: 2020-4-2 00:22 标题: 批处理如何判断IP是否在IP段?
前天搞了个自启脚本方便自己工作用,结果被别人挖走了
然后脑子一想有两种方法,
一种是自启下载iplist.txt下来,判断本机IP在不在这个txt里有,有则运行下面的语句
但是这种方法要下载ip.txt...
然后第二种就是判断本机IP是否在192.168.0.25-192.168.78或者192.168.3.52-192.3.90或者192.168.5.20-192.168.55,在则运行下面的语句,不在不运行
第二种方法好是好,但是一想懵了,我对for操作不熟,无从下手
求dalao们支招
作者: kav0123 时间: 2020-4-2 00:24
??为啥表情符号不显示
作者: flashercs 时间: 2020-4-2 08:34
- @echo off
- REM verify if any ipv4 address falls in a special subnet
- setlocal EnableDelayedExpansion
- set "subnet1=192.168.0.25-192.168.0.78"
- set "subnet2=192.168.3.52-192.168.3.90"
- set "subnet3=192.168.5.20-192.168.5.55"
-
- for /f "tokens=3" %%A in ('netsh interface ipv4 show addresses^|find /i "IP"^|find /v "127.0.0.1"') do (
- set IPv4=%%A
- call :IPv4ToInt32 "%%A" "IPv4my"
- for /f "tokens=1-3 delims==-" %%B in ('set subnet') do (
- call :IPv4ToInt32 "%%C" "IPv4lo"
- call :IPv4ToInt32 "%%D" "IPv4hi"
- if !IPv4my! geq !IPv4lo! if !IPv4my! leq !IPv4hi! (
- set fallsubnet=%%B
- goto subnetproc
- )
- )
- )
- goto end
-
- :subnetproc
- echo.Your IPv4 address "%IPv4%" is in "%fallsubnet%=!%fallsubnet%!"
- REM more tasks
- goto end
-
- :end
- endlocal
- pause
- exit /b
-
- :IPv4ToInt32 IPv4 outvar
- set Int32=0
- for /f "tokens=1-4 delims=." %%A in ("%~1") do (
- set /a "Int32=((%%A*256+%%B)*256+%%C)*256+%%D"
- )
- if not "%~2"=="" set %~2=%Int32%
- exit /b
复制代码
作者: wujunkai 时间: 2020-4-2 13:59
回复 1# kav0123
你IP地址段是不是打错了?
应该是 192.168.0.25-192.168.0.78 , 192.168.3.52-192.168.3.90 , 92.168.5.20-192.168.5.55 吧- @echo off
- for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do set ip=%%a
- for /F "tokens=3,4 delims=." %%i in ("%ip%") do (
- if %%i EQU 0 if %%j GEQ 25 if %%j LEQ 78 set "self=true"
- if %%i EQU 3 if %%j GEQ 52 if %%j LEQ 90 set "self=true"
- if %%i EQU 5 if %%j GEQ 20 if %%j LEQ 55 set "self=true"
- )
- if not "%self%"=="true" exit /B
复制代码
作者: kav0123 时间: 2020-4-2 15:18
回复 4# wujunkai
hh,还真写错了,谢谢dalao
作者: kav0123 时间: 2020-4-2 15:20
回复 3# flashercs
dalao,请问这 IPv4ToInt32和subnetproc分别是啥?有点疑惑
作者: flashercs 时间: 2020-4-2 16:12
subnetproc是IP在指定网段内你要做什么事情.
作者: kav0123 时间: 2020-4-3 10:20
回复 7# flashercs
就是符合IP段内的内容放这个subnetproc里吗,dalao
作者: netdzb 时间: 2020-4-4 08:52
回复 8# kav0123
搞定了吗?楼主。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |