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

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

求教:逐行提取文本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
1

评分人数

放样本上来,如果超大,放链接。
目的,学习批处理

TOP

  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
复制代码

TOP

非常感谢!已解决了!

TOP

返回列表