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

[文本处理] 批处理如何整理文件中的域名和IP地址?

3个文件.a.txt是域名列表.b.txt是2级域名列表.c.txt是ip地址.

实例:
a.txt
aaa.com
bbb.com
ccc.com
afad.com
dfase.com
dfasdfasdfas.com
b.txt
aaa
bbb
ccc
ddd
eee
fff
c.txt
1.0.0.1
2.2.2.2
3.3.3.3
4.4.4.4
5.5.5.5
6.6.6.6

首先.
将a.txt里的每一个域名都加上b.txt的内容当前缀.
达到如下效果:
aaa.aaa.com
bbb.aaa.com
ccc.aaa.com
ddd.aaa.com
eee.aaa.com
fff.aaa.com



然后 把所有添加过2级域名的顶级域名放到一个文件里打乱每一行的顺序存为d.txt

将c.txt 每一行作为文件名.txt保存到一个文件夹里(ip).

然后把d.txt的内容每10行(可调)为一个段 顺序加入到 ip文件夹里的txt文件里.



如:
1.0.0.1
内容:
aaa.aaa.com
eee.bbb.com
qqq.ooo.com
bbb.www.com
mmm.qqq.com


最后 将这些对应信息以域名为单位再整理成文件.放到一个文件夹里(域名)

如:aaa.com
内容:

aaa.aaa.com 1.0.0.1
bbb.aaa.com 9.9.9.9
ccc.aaa.com 100.123.123.123
ddd.aaa.com 2.2.2.2
eee.aaa.com 50.50.50.50
fff.aaa.com 211.211.112.112

话说我看老半天,还是不明白啥意思。。。

TOP

帮帮忙了.高手们~!

TOP

你太会玩了

TOP

最后一个要求不知所云,这是前面几个要求的答案。
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f %%i in (a.txt) do (
  3.    set /p m=
  4.    set .!random!!random!!random!=!m!.%%i
  5. ))<b.txt
  6. (for /f "tokens=1,2 delims==" %%i in ('set.') do echo %%j)>d.txt
  7. md ip 2>nul
  8. for /f %%i in (c.txt) do cd.>ip\%%i.txt
  9. for /f %%i in (d.txt) do (
  10.     set /a n+=1
  11.     set .!n!=%%i
  12. )
  13. for %%i in (ip\*.txt) do (
  14.    call :lp %%i   
  15. )
  16. pause
  17. :lp
  18. set /a q=!m!+1
  19. set /a m+=10
  20. for /l %%i in (%q% 1 %m%) do if "!.%%i!" neq "" echo !.%%i!>>%1
  21. goto :eof
复制代码

TOP

不行啊.是不是因为我的b.txt只有30行.这个随机数上限太大.造成只随机到3~5个....

TOP

具体怎么不行?

TOP

我 b.txt 的2级域名有 30个.
但随机出来的d.txt里.只有5个左右. 而且 最后一行重复率相当高.基本90%都是b.txt 的最后一行.. 能不能限制下 读取b.txt的随机数上限是30?

TOP

最后一部分就是把ip文件夹下的所有文件都放到f.txt里.格式为:
aaa.bbb.com 1.1.1.1
就是2级域名 空格 ip地址.
然后以顶级域名为文本名分割.放到域名目录下.
如:
bbb.com.txt
aaa.bbb.com 1.1.1.1
ccc.bbb.com 5.5.5.5
eee.bbb.com 90.90.90.90

TOP

这些功能能写到一个批处理么?

TOP

返回列表