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

[文本处理] 批处理如何逐行提取一个文本内容替换另一个文本中包含指定字符串的行?

[复制链接]
发表于 2017-1-3 07:24:35 | 显示全部楼层 |阅读模式
求教:逐行提取文本B内容替换A文本中指定包含指定字符串的行,感谢!跪谢!

查找文本A中包含“****”的行,从文本B中提取1行过来替换掉。要求文本B保留原始完整内容。

文本A:
3370385025
3372716120
2320623730
3074822688
3113919569****
3380331445
3481462131
1640186399
3360323479****
1575584147
3137458481
3384452511
3384697473
3384694533
3384634776
3384641763****
3360383189
3369851786
3506765120
2129537809
3462218589
3361301328
3359722392****
3427024626
475871963
1470859713
346739123****
3362265300
3369862948
3238318629

文本B:
1640186399
3360323479
1575584147
3137458481
3384452511
3384697473
3384694533
3384634776
3384641763
3360383189
3369851786
3506765120
2129537809
3462218589
3361301328
3359722392
3427024626

要求最后输出文本C:
3370385025
3372716120
2320623730
3074822688
1640186399
3380331445
3481462131
1640186399
3360323479
1575584147
3137458481
3384452511
3384697473
3384694533
3384634776
1575584147
3360383189
3369851786
3506765120
2129537809
3462218589
3361301328
3137458481
3427024626
475871963
1470859713
3384452511
3362265300
3369862948
3238318629

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

发表于 2017-1-3 09:49:00 | 显示全部楼层
放样本上来,如果超大,放链接。
发表于 2017-1-3 15:43:16 | 显示全部楼层
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. (for /f "delims=" %%a in (b.txt) do (
  4.   set /a n+=1
  5.   set #!n!=%%a
  6. )
  7. set n=
  8. for /f "delims=" %%a in (a.txt) do (
  9.   set str=%%a
  10.   if "!str:~-4!"=="****" (
  11.     set /a n+=1
  12.     call echo.%%#!n!%%
  13.   ) else (
  14.     echo.%%a
  15.   )
  16. ))>c.txt
  17. pause
复制代码
 楼主| 发表于 2017-1-3 16:23:14 | 显示全部楼层
非常感谢!已解决了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 20:50 , Processed in 0.023823 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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