求 :bat批处理代码, txt文本中的内容排列和替换
例如sh.txt文本里面的内容为不同的IP地址:A.B.C.DA.B.C.DA.B.C.DA.B.C.DA.B.C.DA.B.C.D……2个竖排全部是不同的ip地址,先把...
例如 sh.txt 文本里面的内容为不同的IP地址:
A.B.C.D A.B.C.D
A.B.C.D A.B.C.D
A.B.C.D A.B.C.D
……
2个竖排全部是不同的ip地址,
先把第1竖排的IP和第2竖排的IP合并成1个竖排,然后把C和D位置的数字替换成数字0,谢谢
执行完bat后这个文本后sh.txt生成ok.txt,替换后的内容样例为:
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
…… 展开
A.B.C.D A.B.C.D
A.B.C.D A.B.C.D
A.B.C.D A.B.C.D
……
2个竖排全部是不同的ip地址,
先把第1竖排的IP和第2竖排的IP合并成1个竖排,然后把C和D位置的数字替换成数字0,谢谢
执行完bat后这个文本后sh.txt生成ok.txt,替换后的内容样例为:
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
iptables -A INPUT -s A.B.0.0/16 -j ACCEPT
…… 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
set n=0
for /f "tokens=1,2 delims= " %%i in (sh.txt) do (
set "ip_!n!=%%i"
set /a n=!n!+1
set "ip_!n!=%%j"
set /a n=!n!+1
)
cd.>ok.txt
for /f "tokens=2 delims==" %%i in ('set ip_') do (
set "temp=%%i"
for /f "tokens=1,2 delims=." %%a in ("!temp!") do (
echo iptables -A INPUT -s %%a.%%b.0.0/16 -j ACCEPT>>ok.txt
)
)
echo done.
pause
set n=0
for /f "tokens=1,2 delims= " %%i in (sh.txt) do (
set "ip_!n!=%%i"
set /a n=!n!+1
set "ip_!n!=%%j"
set /a n=!n!+1
)
cd.>ok.txt
for /f "tokens=2 delims==" %%i in ('set ip_') do (
set "temp=%%i"
for /f "tokens=1,2 delims=." %%a in ("!temp!") do (
echo iptables -A INPUT -s %%a.%%b.0.0/16 -j ACCEPT>>ok.txt
)
)
echo done.
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询