Board logo

标题: [求助]URL编码转换||FOR嵌套输出两个文件的变量 [打印本页]

作者: flybird2020     时间: 2008-12-30 20:15    标题: [求助]URL编码转换||FOR嵌套输出两个文件的变量

I、在论坛看了半天没找到和我的问题相似的,如果有相似的我没发现,抱歉给大家添麻烦了
II、问题描述:
1、已有A.txt,里面每行只有一条数据(可能有N行,N>1000),我希望把它们批量转换为URL(UTF8)编码(英文和数字不做改变),中文转换(如“我”的URL编码为“%E6%88%91”),再在每一个未修改字段的后面以TABLE(制表符)为分隔,放上修改后的字段,如C.txt(跳过B.txt)
2、但是,我到处找不到可以改成这种编码的代码,只能通过这个网站来生成代码“http://seohelper.cn/tools/urlencode”,再复制到B.txt里。可但是,把A和B合成到一起生成C.txt这一步我也不会(#_#,笨的很)

III、以上就是我目前的困惑,那么在困惑中有两个问题
1、能否达成“把A.txt中的数据批量转化为URL编码,输出结果类似C.txt”
2、如果不能转化,那我只能到网页上去转化一次再存到B.txt中,那么A和B如何合并能达成C.txt的效果呢。
谢谢大家,谢谢
附:简单化后的三个文档
A.txt

感谢
CNDOSNET
的所有兄弟

呵呵

B.txt
%E6%88%91
%E6%84%9F%E8%B0%A2
CNDOSNET
%E7%9A%84%E6%89%80%E6%9C%89%E5%85%84%E5%BC%9F
%E4%BB%AC
%E5%91%B5%E5%91%B5

C.txt(A和B的合并,分隔符是TABLE制表符)
我        %E6%88%91
感谢        %E6%84%9F%E8%B0%A2
CNDOSNET        CNDOSNET
的所有兄弟        %E7%9A%84%E6%89%80%E6%9C%89%E5%85%84%E5%BC%9F
们        %E4%BB%AC
呵呵        %E5%91%B5%E5%91%B5
[ Last edited by flybird2020 on 2008-12-31 at 10:34 ]
作者: flybird2020     时间: 2008-12-31 14:23
顶一下。。。到第二页了
不知道我的问题有高人回答么。。。
还是太简单了没人理会。。。
作者: hackerscans     时间: 2008-12-31 14:38
肯定能,帮你顶。
作者: flybird2020     时间: 2009-1-1 01:09
再顶下,希望在元旦这几天能有人回复一下
顺带谢下楼上的哥们儿
作者: ily2013     时间: 2009-1-1 18:36
在这里http://www.cn-dos.net/forum/viewthread.php?tid=42625&fpage=1找一个hdump的文件,配合sed和for应该是很容易的事情,具体代码就自己写吧。hdump真是好,我只告诉你,可别跟其他人说啊^_^
作者: linee     时间: 2009-1-1 21:02
水平有限,借用[讨论]最大限度原样输出含特殊字符的指定行内容的代码给你个初步方案,
@echo off
set/a i=1
for /f "tokens=* delims=" %%j in (a.txt) do call set "a%%i%%=%%j"&set/a i+=1
set/a i=1&cd.>c.txt
for /f "tokens=* delims=" %%j in ('findstr /n .* b.txt') do (
        set "var=%%j"
        setlocal enabledelayedexpansion
        set var=!var:*:=!
        call set /p=%%a!i!%%        <nul>>c.txt
        (echo.!var!)>>c.txt
        endlocal
        set/a i+=1
)
试试看。说明一点就是第一个循环只能处理如a.txt这种没特殊字符的文件,第二个循环可以处理如b.txt这种有特殊字符的文件。

[ Last edited by linee on 2009-1-1 at 22:51 ]