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

[文本处理] 【已解决】请教批处理合并文本方面的事情,谢谢前辈们

[复制链接]
发表于 2020-12-16 08:57:39 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 灯塔彭于晏 于 2020-12-16 15:50 编辑 [/i]

各位前辈大家好,特来请教一点bat知识,想实现下面的内容。

现在有2个文本,A.TXT内容如下(每行1个数字):
1
2
3
4
5
6
7
9
10
11
12

B.TXT内容如下:
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin141.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin142.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin143.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin144.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin145.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">#</span></p></div>
<p><img src="http://baidu.com/gangqin146.jpg"/></p>  



实现将A中的内容,依次输入到B中的#中。实现效果如下:


<div class="pic-title"><p><span class="tupiantitle">1</span></p></div>
<p><img src="http://baidu.com/gangqin141.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">2</span></p></div>
<p><img src="http://baidu.com/gangqin142.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">3</span></p></div>
<p><img src="http://baidu.com/gangqin143.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">4</span></p></div>
<p><img src="http://baidu.com/gangqin144.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">5</span></p></div>
<p><img src="http://baidu.com/gangqin145.jpg"/></p>   
<div class="pic-title"><p><span class="tupiantitle">6</span></p></div>
<p><img src="http://baidu.com/gangqin146.jpg"/></p>  

……

<div class="pic-title"><p><span class="tupiantitle">12</span></p></div>
<p><img src="http://baidu.com/gangqin146.jpg"/></p>  

谢谢谢谢
发表于 2020-12-16 13:56:55 | 显示全部楼层
保存为ps1运行
  1. $global:n = 0;
  2. $arr = (gc A.txt -ReadCount 0) -notmatch '^\s*$';
  3. $str = (gc B.txt -ReadCount 0) -join "`r`n";
  4. $str = [regex]::Replace($str, '#', {$arr[$global:n++]});
  5. sc B.txt -Value $str;
复制代码
发表于 2020-12-16 14:34:23 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in (b.txt) do (
  4.     set "s=%%i"
  5.     if "!s:>#<=!" NEQ "!s!" (
  6.         set /p "n="
  7.         for %%j in ("!n!") do set "s=!s:>#<=>%%~j<!"
  8.     )
  9.     echo;!s!
  10. )) < a.txt
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 谢谢

查看全部评分

 楼主| 发表于 2020-12-16 15:27:07 | 显示全部楼层
WHY 发表于 2020-12-16 14:34



    谢谢你啊!
发表于 2020-12-16 15:30:29 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set m=0
  4. for /f "delims=" %%a in (a.txt) do (
  5.     set "str=%%a"
  6.     set /a m+=1&set _!m!=%%a
  7. )
  8. set n=1
  9. (for /f "delims=" %%b in (b.txt) do (
  10.     set "var=%%b"
  11.     set /a num=_!n!
  12.     for %%c in (!num!) do set "var=!var:>#<=>%%c<!"
  13.     if not "!var!"=="%%b" set /a n+=1
  14.     echo !var!
  15. ))>c.txt
  16. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 07:17 , Processed in 0.025290 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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