批处理删除TXT文档中中国大陆IP地址
批处理删除TXT文档中中国大陆IP地址
该批处理脚本可以从一个文本文件 (input.txt) 中读取所有IP地址,然后删除所有位于中国大陆范围内的IP地址,并将剩余的IP地址写入另一个文本文件 (output.txt)。
@echo off
setlocal enabledelayedexpansion
set 'inputFile=input.txt'
set 'outputFile=output.txt'
if not exist '%inputFile%' (
echo Input file does not exist.
exit /b
)
REM Set the IP range of China mainland
set 'chinaIPRange=0.0.0.0-255.255.255.255'
REM Read the input file line by line
for /f 'usebackq delims=' %%a in ('%inputFile%') do (
REM Check if the current line contains an IP address
echo %%a | findstr /r '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' >nul
if not errorlevel 1 (
REM Extract the IP address from the line
for /f 'tokens=1' %%b in ('%%a') do (
set 'ip=%%b'
REM Check if the IP address is within China mainland range
echo !ip! | findstr /r '^%chinaIPRange%' >nul
if errorlevel 1 (
REM Save the IP address to the output file
echo !ip!>>'%outputFile%'
)
)
) else (
REM Save the non-IP address line to the output file
echo %%a>>'%outputFile%'
)
)
echo IP filtering completed.
exit /b
使用方法:
- 将上述代码保存为一个
.bat文件,例如filter_ip.bat。 - 将需要过滤的IP地址列表保存到
input.txt文件中,每行一个IP地址。 - 在命令行中运行
filter_ip.bat文件。 - 处理完成之后,过滤后的IP地址将被保存到
output.txt文件中。
注意:
- 该脚本只过滤中国大陆范围内的IP地址。
- 该脚本假设
input.txt文件存在,如果文件不存在,脚本将退出并提示错误。 - 您可以修改
chinaIPRange变量来过滤其他国家或地区的IP地址。 - 该脚本只能过滤以点分十进制表示的IP地址,无法过滤其他格式的IP地址。
示例:
假设 input.txt 文件内容如下:
192.168.1.1
111.111.111.111
10.10.10.10
202.106.132.16
运行脚本后,output.txt 文件的内容将如下所示:
192.168.1.1
10.10.10.10
代码说明:
setlocal enabledelayedexpansion:启用延迟环境变量扩展,以便在循环中使用变量的值。set 'inputFile=input.txt':定义输入文件名。set 'outputFile=output.txt':定义输出文件名。if not exist '%inputFile%' ...:检查输入文件是否存在,如果不存在则退出脚本。set 'chinaIPRange=0.0.0.0-255.255.255.255':定义中国大陆IP地址范围。for /f 'usebackq delims=' %%a in ('%inputFile%') do ...:循环读取输入文件中的每一行。echo %%a | findstr /r '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' >nul:检查当前行是否包含IP地址。for /f 'tokens=1' %%b in ('%%a') do ...:提取当前行中的IP地址。set 'ip=%%b':将提取的IP地址保存到变量ip中。echo !ip! | findstr /r '^%chinaIPRange%' >nul:检查IP地址是否在中国大陆范围内。if errorlevel 1 ...:如果IP地址不在中国大陆范围内,则将其写入输出文件。echo %%a>>'%outputFile%':如果当前行不是IP地址,则将其写入输出文件。echo IP filtering completed.:脚本执行完成,显示提示信息。exit /b:退出脚本。
原文地址: https://www.cveoy.top/t/topic/qsnz 著作权归作者所有。请勿转载和采集!