Board logo

标题: [文本处理] [已解决]批处理把代理服务器列表的不规范格式转换成规范格式 [打印本页]

作者: ax2623682    时间: 2009-4-25 18:45     标题: [已解决]批处理把代理服务器列表的不规范格式转换成规范格式

本帖已经更新,二楼和三楼的解决方案都是满足以前的要求的,大家可以参考一下。更新内容是:增加了第四点的要求。(已经用蓝色标出)
大家都知道代理服务器的列表有通用的格式,下面是一个大家常用,但是又不符合规范的列表,请大家按要求把它转换成通用列表。
假设下列表,以txt为后缀名,内容如下:
----------------------------------------我是分割线------------------------------------------------------------------------
200.216.153.1 3128 anonymous Brazil 2009-04-25
67.69.254.250 80 anonymous Canada 2009-04-24
69.77.165.177 8080 anonymous Canada 2009-04-24
218.75.100.114 8080 anonymous China 2009-04-24
201.72.145.44 3128 anonymous Brazil 2009-04-25
150.176.182.34 80 high anonymity United States 2009-04-24
203.110.240.22 80 high anonymity India 2009-04-24
193.37.152.154 3128 anonymous Germany 2009-04-25
20.132.16.22 80 anonymous United States 2009-04-24
---------------------------------------我是分割线----------------------------------------------------------------------
下面开始按要求转换,
1.保留ip地址和端口号,去掉其他无关信息。
2.ip和端口之间的空格换成“:”(不含引号)。
3.批处理具有普遍性,可以处理任意多行。
4.作用到批处理所在目录下的所有文本文件,作用后,输出为"done_原文件名",如daili.txt就输出为done_daili.txt
转换成功后,列表应该是这样的:
---------------------------------------我是分割线-------------------------------------------------------
200.216.153.1:3128
67.69.254.250:80
69.77.165.177:8080
218.75.100.114:8080
201.72.145.44:3128
150.176.182.34:80
203.110.240.22:80
193.37.152.154:3128
20.132.16.22:80
-------------------------------------我是分割线------------------------------------------------------
大家要帮帮我哦。该死的校园网急需代理来救命。

[ 本帖最后由 ax2623682 于 2009-5-5 19:52 编辑 ]
作者: defanive    时间: 2009-4-25 18:52

  1. @echo off
  2. type nul>formal.txt
  3. for /f "tokens=1,2" %%a in (informal.txt) do echo %%a:%%b>>formal.txt
复制代码

作者: null    时间: 2009-4-25 18:52

  1. @echo off
  2. for /f "tokens=1,2 delims= " %%i in ('type informal.txt') do (
  3. echo %%i:%%j>>formal.txt
  4. )
复制代码

作者: ax2623682    时间: 2009-5-5 19:38

帖子已经更新,更新放在要求的第四点上。
作者: Batcher    时间: 2009-5-5 20:09

  1. @echo off
  2. for %%a in (%~dp0*.txt) do (
  3.   >"%%~dpadone_%%~nxa" cd.
  4.   for /f "usebackq tokens=1,2" %%h in ("%%a") do (
  5.     >>"%%~dpadone_%%~nxa" echo %%h:%%i
  6.   )
  7. )
复制代码

作者: lcq676649    时间: 2009-11-27 04:30

我是刚玩电脑不久的,真的看不懂,到底要怎么弄呢,哪位大侠能弄个附件上来啊,谢谢了




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2