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

[文本处理] [已解决]批处理怎样把文本文档里关键词加到对应网址里?

本帖最后由 daohe 于 2011-3-28 00:22 编辑

此批处理的作用是把关键词加到对应网址里.
w.txt(包含全部网址,可能带有问号和等号,形式如下)
www.abc.com/1.html
www.abc.com/2.html
www.abc.com/3.html
www.abc.com/4.html
www.abc.com/5.html

a.txt(包含w.txt部分网址,顺序随机,逗号后面带有一字符串,形式如下)
www.abc.com/1.html,x-y-z
www.abc.com/2.html,x-y-z
www.abc.com/3.html,x-yz-zz
www.abc.com/4.html,x-yz-zz

b.txt(包含w.txt部分网址,与a.txt部分网址有重复,顺序随机,逗号后面带有一组数据,形式如下)
www.abc.com/1.html,j-k
www.abc.com/3.html,j-kb
www.abc.com/4.html,j-kc
www.abc.com/5.html,j-k

求一批处理,处理后成
c.txt(按顺序,把a.txt b.txt逗号后面的字符串加到w.txt每行网址后面,用逗号隔开)
www.abc.com/1.html,x-y-z,j-k
www.abc.com/2.html,x-y-z,others
www.abc.com/3.html,x-yz-zz,j-kb
www.abc.com/4.html,x-yz-zz,j-kc
www.abc.com/5.html,others,j-k

1. 生成的c.txt
第一列网址与w.txt完全相同;
第二列为a.txt对应网址后的字符串,若没有则加上others;
例如:例子里的a.txt 不包含www.abc.com/5.html,则在第一列加上others.
第三列为b.txt对应网址后的字符串,若没有则加上others;
例如:例子里的b.txt 不包含www.abc.com/2.html,则在第二列加上others.

PS : w.txt,a.txt,b.txt每个文件内的网址均不重复.

补充:
其实生成的c.txt就是一个表格.
第一列是w.txt里的网址
第二列是a.txt网址后面的字符串
第三列是b.txt网址后面的字符串

a.txt,b.txt第一列网址的作用就是,定位a.txt,b.txt里面的字符串,把 某一字符串对应的网址填入w.txt.

请问我的阐述还不明白吗?
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set "file_url=w.txt"
  4. set "file_str1=a.txt"
  5. set "file_str2=b.txt"
  6. set "file_out=c.txt"
  7. for %%n in (1 2) do (
  8.     for /f "usebackq tokens=1,2 delims=," %%a in ("!file_str%%n!") do (
  9.         set %%a_%%n=%%b
  10.     )
  11. )
  12. (for /f "usebackq" %%u in ("%file_url%") do (
  13.     if not defined %%u_1 set %%u_1=others
  14.     if not defined %%u_2 set %%u_2=others
  15.     echo %%u,!%%u_1!,!%%u_2!
  16. )) >"%file_out%"
复制代码

TOP

本帖最后由 weichenxiehou 于 2011-3-27 18:43 编辑

题目没看清,理解错误!
看得多说得多,远比不上写得多。

TOP

我这样描述,还是会理解出现歧义.
我的表达还不是很明确,真不好意思.
3# weichenxiehou

TOP

代码运行后没反应,
我尝试修改了代码,还是一样没反应.请问到底是哪里错了?
3# weichenxiehou

TOP

5# daohe


把@echo off删掉,看看哪一步出错了。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

4# daohe
楼主误解我的意思了,我并不是说楼主表达得不够清楚,而是我之前写了一个代码,看到二楼版主写的代码才知道有个地方理解错了,就只好把代码删了,但是3楼的位置已经占了,就只好这么说一句了。2楼的代码我测试了没问题啊,版主写得很好的。
看得多说得多,远比不上写得多。

TOP

怀疑是discuz的问题
我点击下面[复制代码按钮],然后粘贴到记事本里去保存,一直就是出错状态.
直接选中复制黏贴, 就能正常运行代码.

6# Batcher

TOP

7# weichenxiehou
非常感谢.

TOP

2# tmplinshi
感谢版主给了这么好的批处理

TOP

返回列表