标题: [文本处理] 批处理如何提取IP的前2位并拆开后两位为0到255? [打印本页]
作者: wifayy 时间: 2011-3-26 18:28 标题: 批处理如何提取IP的前2位并拆开后两位为0到255?
58.60.33.5 58.70.11.123
以为文本保存为1.TXT
读取以上内容
用BAT 修改为
58.60.0.0
58.60.0.1
58.60.0.2
58.60.0.3
.........
........
.........
........
58.70.255.255
能做到吗 先谢过大家了
作者: weichenxiehou 时间: 2011-3-26 18:57
本帖最后由 weichenxiehou 于 2011-3-26 19:03 编辑
问题描述得不是很清楚,如果ip固定,用for /l 解决:- @echo off
- cd.>1.txt&echo,正在生成,稍后...
- for %%i in (60 70) do (
- for /l %%a in (0 1 255) do (
- for /l %%b in (0 1 255) do echo,58.%%i.%%a.%%b
- ))>>1.txt
复制代码
如果你这些要提取的ip地址放在文本文件中,又另当别论,请把问题描述更具体些。
作者: wifayy 时间: 2011-3-27 02:08
是这样的 有一个文本为IP.TXT 内容为 58.60.21.1 58.61.22.35
我需要用BAT把他们转换成
58.60.0.0
58.60.0.1
58.60.0.2
.......
......
....
.....
....
...
58.61.255.255
保存为1.TXT
意思就是提取IP.TXT里的IP 58.60 和58.61 这个前2位 后面的则用0到255代替 然后将他们排列从
58.60.0.0 开始 一直排到58.61.255.255 就是只取IP.TXT里的IP地址的前2位
多谢LS
作者: weichenxiehou 时间: 2011-3-27 08:34
本帖最后由 weichenxiehou 于 2011-3-27 08:35 编辑
如果这两个ip地址位于ip.txt的第一行靠前,中间用空格分隔,且只有这一行:- @echo off
- cd.>1.txt&echo,正在生成,稍后...
- for /f "tokens=1,2,5,6 delims=. " %%i in (ip.txt) do set ip1=%%i.%%j&set ip2=%%k.%%l
- for %%i in (%ip1% %ip2%) do (
- for /l %%a in (0 1 255) do (
- for /l %%b in (0 1 255) do (
- echo,%%i.%%a.%%b
- )))>>1.txt
复制代码
作者: wifayy 时间: 2011-3-27 13:13
非常感谢 weichenxiehou 的帮助
现在又有个新问题 如果IP.TXT里有多行IP 并且都不同的 该怎么办呢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |