Board logo

标题: [文本处理] 【已解决】批处理如何将1.txt中每行文字,替换到不同的txt中指定的位置,求大佬指教 [打印本页]

作者: sxt2100    时间: 2023-9-27 11:29     标题: 【已解决】批处理如何将1.txt中每行文字,替换到不同的txt中指定的位置,求大佬指教

本帖最后由 sxt2100 于 2023-9-27 17:05 编辑

详细叙述,1.txt中有四行字符,然后有a.txt,b.txt,c.txt,d.txt4个txt文件。如何吧1.txt每一行分别替换给4个txt文件。求大佬指教

举例子如截图

现有五个txt文件。分别是名字.txt,小明的词.txt,小华的词.txt,小红的词.txt,小王的词.txt
再说txt中的内容,名字.txt是4行字符,也就是4个名字。后面那4个txt是一样的文件,里面包含一个叫小白的一段话,这段话可能包含多个小白,当前例子中是2个小白。然后4个txt文件名不一样。
实现的目标是,把4个名字分别替换到4个txt中的小白,最终是要4个txt,而且里面的人名是名字.txt中的
作者: Batcher    时间: 2023-9-27 11:39

回复 1# sxt2100


每一行分别替换给4个txt文件的什么位置?
请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: sxt2100    时间: 2023-9-27 13:39

举例子如截图,https://ibb.co/wdchWH9
现有五个txt文件。分别是名字.txt,小明的词.txt,小华的词.txt,小红的词.txt,小王的词.txt
再说txt中的内容,名字.txt是4行字符,也就是4个名字。后面那4个txt是一样的文件,里面包含一个叫小白的一段话,这段话可能包含多个小白,当前例子中是2个小白。然后4个txt文件名不一样。
实现的目标是,把4个名字分别替换到4个txt中的小白,最终是要4个txt,而且里面的人名是名字.txt中的
作者: Batcher    时间: 2023-9-27 14:24

回复 3# sxt2100


把你的:小明的词.txt,小华的词.txt,小红的词.txt,小王的词.txt 这几个文件全部删掉。
保留以下几个文件在同一个文件夹下:
名字.txt
小白模板词.txt
test.bat

请参考Q-04和Q-05把bat文件和txt文件都保存为UTF-8编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. chcp 65001 >nul
  3. cd /d "%~dp0"
  4. set "NameList=名字.txt"
  5. set "FileTemplate=小白模板词.txt"
  6. set "NameOld=小白"
  7. for /f "delims=" %%i in ('type "%NameList%"')  do (
  8.     echo 正在生成 %%i
  9.     (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%FileTemplate%"') do (
  10.         if "%%b" equ "" (
  11.             echo,
  12.         ) else (
  13.             set "ThisRow=%%b"
  14.             setlocal enabledelayedexpansion
  15.             echo,!ThisRow:%NameOld%=%%i!
  16.             endlocal
  17.         )
  18.     ))>"%%i的词.txt"
  19. )
复制代码

作者: sxt2100    时间: 2023-9-27 15:56

回复 4# Batcher
大佬,文件生成了,文件数能对上,命名也正常。但是生成的新文件里面是空白的,没有内容
作者: Batcher    时间: 2023-9-27 16:35

回复 5# sxt2100


请把你测试使用的这三个文件打包上传到网盘我看看:
名字.txt
小白模板词.txt
test.bat
作者: sxt2100    时间: 2023-9-27 17:04

回复 6# Batcher


    可以了,我命名写错了,膜拜大佬




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2