找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24582|回复: 3

[文本处理] 批处理怎样合并文件?

[复制链接]
发表于 2015-9-5 17:40:31 | 显示全部楼层 |阅读模式
生词本.txt
agriculture n. 农业 ┃3┃
address n. 地址 ┃3┃
add v. 添加,增加 ┃3┃
        addition n.加;增加物
        in addition 除此之外,并且
achieve v. 达到,取得 ┃3┃
actor n. 演员 ┃3┃
agreement n. 同意,一致;协定 ┃3┃
adventure n. 冒险;奇遇 ┃3┃
accountant n. 会计,会计师 ┃3┃
again adv. 再一次;再,又 ┃3┃
accept v. 接受 ┃3┃
against prep. 对着,反对 ┃3┃
absent adj. 缺席,不在 ┃3┃
        be absent from 缺席
advise vt. 忠告,劝告,建议 ┃3┃
accurate adj. 准确的,确切的 ┃3┃
age n. 年龄;时代 ┃3┃
        at the age of 在···的年龄
after adv. 以后;后来;向后 ┃3┃
        prep. 在···之后;在···后面
        conj. 在···以后
        after all 毕竟
affect vt. 影响 ┃3┃
advance v. 推进,促进;前进 ┃3┃
account n. 账目;描述 ┃3┃
        account for 说明;解释
afford vt. 负担得起(···的费用) ┃3┃

生词本2.txt
accountant n. 会计,会计师 ┃3┃
advice n. 忠告,建议 ┃3┃
act n. 法令,条例 ┃3┃
        v.扮演(角色),演出(戏)
        act as 充当,担任
ability n. 能力;才能 ┃3┃
actual adj. 实际的;现实的 ┃3┃
admire v. 钦佩;羡慕 ┃3┃
absent adj. 缺席,不在 ┃3┃
        be absent from 缺席
afternoon n. 下午,午后 ┃3┃
after adv. 以后;后来;向后 ┃3┃
        prep. 在···之后;在···后面
        conj. 在···以后
        after all 毕竟
agreement n. 同意,一致;协定 ┃3┃
adopt v. 采用,采纳 ┃3┃
agree v. 同意;应允 ┃3┃
        agree to do sth. 同意做某事
        agree with sb. 同意某人的看法
again adv. 再一次;再,又 ┃3┃
age n. 年龄;时代 ┃3┃
        at the age of 在···的年龄
actress n. 女演员 ┃3┃
agriculture n. 农业 ┃3┃
affect vt. 影响 ┃3┃
accept v. 接受 ┃3┃
address n. 地址 ┃3┃
affair n. 事,事情 ┃3┃
合并2个文件,内容输出到3.txt 数字相加,小于等于0不输出。
发表于 2015-9-5 17:59:01 | 显示全部楼层
1、2挺全的,3应该是啥样啊。
 楼主| 发表于 2015-9-5 18:04:05 | 显示全部楼层
回复 2# 回家路上


agriculture n. 农业 ┃6┃
address n. 地址 ┃6┃
add v. 添加,增加 ┃3┃
        addition n.加;增加物
        in addition 除此之外,并且
·····
    相同的输出到3,
前面为tab的跟着前面定格的输出,1有2没有的也输出,1没2有的也输出,然后计算小于0的不输出
发表于 2015-9-5 19:17:53 | 显示全部楼层
我写的,供参考

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (1.txt 2.txt) do (
  3.         set line=%%i
  4.         if "!line:┃=!" neq "!line!" (
  5.                 set word=%%i
  6.                 if "!#%%i!" neq "" (
  7.                         set old=!#%%i!
  8.                         set oldnum=!old:*┃=!
  9.                         set oldnum=!oldnum:┃=!
  10.                         set num=!line:*┃=!
  11.                         set /a num=!num:┃=!+oldnum
  12.                         for %%a in (┃!oldnum!┃) do set "#!old!=!old:%%a=! ┃!num!┃"
  13.                 ) else (
  14.                         set "#%%i=%%i"
  15.                 )
  16.         ) else (
  17.                 set "_!word!ext%%i=%%i"
  18.         )
  19. )
  20. for /f "tokens=1* delims==" %%i in ('set #') do (
  21.         set word=%%i
  22.         echo;%%j
  23.         for /f "tokens=2 delims==" %%a in ('set _!word:~1!ext 2^>nul') do (
  24.                 echo;    %%a
  25.         )
  26. )
  27. pause & exit /b
复制代码

评分

参与人数 1技术 +1 收起 理由
尘丶 + 1 好像有些小问题,我再看看,不过差不多了。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 16:28 , Processed in 0.018855 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表