[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何提取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 19:03 编辑

问题描述得不是很清楚,如果ip固定,用for /l 解决:
  1. @echo off
  2. cd.>1.txt&echo,正在生成,稍后...
  3. for %%i in (60 70) do (
  4.   for /l %%a in (0 1 255) do (
  5.     for /l %%b in (0 1 255) do echo,58.%%i.%%a.%%b
  6. ))>>1.txt
复制代码
如果你这些要提取的ip地址放在文本文件中,又另当别论,请把问题描述更具体些。
看得多说得多,远比不上写得多。

TOP

是这样的  有一个文本为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

TOP

本帖最后由 weichenxiehou 于 2011-3-27 08:35 编辑

如果这两个ip地址位于ip.txt的第一行靠前,中间用空格分隔,且只有这一行:
  1. @echo off
  2. cd.>1.txt&echo,正在生成,稍后...
  3. for /f "tokens=1,2,5,6 delims=. " %%i in (ip.txt) do set ip1=%%i.%%j&set ip2=%%k.%%l
  4. for %%i in (%ip1% %ip2%) do (
  5.   for /l %%a in (0 1 255) do (
  6.     for /l %%b in (0 1 255) do (
  7.       echo,%%i.%%a.%%b
  8. )))>>1.txt
复制代码
看得多说得多,远比不上写得多。

TOP

非常感谢 weichenxiehou  的帮助

现在又有个新问题 如果IP.TXT里有多行IP 并且都不同的 该怎么办呢

TOP

返回列表