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

[文本处理] [求助]路由表格式转换有哪位大神会的吗?指导一下,感激不尽

[复制链接]
发表于 2014-11-1 17:48:28 | 显示全部楼层 |阅读模式
网上找到路由表基本是这种格式的:
180.88.0.0/16
220.115.0.0/16
220.115.0.0/16
211.161.0.0/16
211.162.0.0/16
220.113.0.0/16
220.112.0.0/16
220.113.0.0/16
220.114.0.0/16
220.115.0.0/16
203.86.65.0/24
203.86.67.0/24
203.86.68.0/24
需要把他转成类似这样的:
180.88.64.0-180.88.95.255
220.115.8.0-220.115.15.255
220.115.224.0-220.115.227.255
211.161.20.0-211.161.27.255
211.162.32.0-211.162.39.255
211.162.236.0-211.162.239.255
220.113.168.0-220.113.187.255
211.161.0.0-211.162.255.255
220.112.0.0-220.115.255.255
203.86.65.0-203.86.65.255
203.86.67.0-203.86.67.255
203.86.68.0-203.86.68.255
203.86.69.0-203.86.69.255
.......................................

本人是菜鸟,求大神帮助......!!!!!
发表于 2014-11-1 20:08:16 | 显示全部楼层
  1. @(for /f "tokens=1,2 delims=/ " %%a in (原.txt) do @echo %%a-%%~na.%%b)>路由表.txt
复制代码
 楼主| 发表于 2014-11-1 20:45:13 | 显示全部楼层
这个不行啊。。。。。关系到子网掩码。。。。这样输出没用啊
220.115.0.0/16
220.115.0.0/22 假如是这样地址就不对了啊
 楼主| 发表于 2014-11-1 20:50:48 | 显示全部楼层
顺便问一上for语句里面可以放几个if判断
@echo off
setlocal enabledelayedexpansion
(for /f "tokens=1-5" %%a in (a.txt) do (
        if %%e == 15 (
                set /a t = %%b + 1
                echo %%a.%%b.0.1-%%a.!t!.255.254
        )
))>>d:\ip\5.txt
怎么样加入判定第三字符再输出?
 楼主| 发表于 2014-11-1 21:31:46 | 显示全部楼层
@echo off
setlocal enabledelayedexpansion
(for /f "tokens=1-5" %%a in (a.txt) do (if %%c beq 0 (if %%e == 15 (set /a t = %%b + 1 echo %%a.%%b.0.1-%%a.!t!.255.254))))>>d:\5.txt
pause
多重判定为什么不可以啊。。。
发表于 2014-11-2 21:14:44 | 显示全部楼层
set /a t = %%b

BAT的语法比较严格,等号两边不能加空格。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 18:26 , Processed in 0.034038 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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