Board logo

标题: [文本处理] 文本内容如何用批处理递归添加? [打印本页]

作者: Rasm    时间: 2020-5-1 15:27     标题: 文本内容如何用批处理递归添加?

创建1个文本,文本1.txt
  1. sht_sprite
  2. shtangfei
  3. shtav2019
  4. shtdalao
  5. shtddk
  6. shter
  7. shtfz
复制代码
文本2.txt
  1. tnndlala
  2. tobotsc
  3. tokan
  4. tomaswu
  5. tomb
  6. tommykeroro
复制代码
我就想实现 文本2的内容都添加到文本1.txt里面去,重新生成 3.txt

sht_sprite----tnndlala
sht_sprite----tobotsc
sht_sprite----tokan
sht_sprite----tomaswu
sht_sprite----tomb
sht_sprite----tommykeroro
shtangfei----tnndlala
shtangfei----tobotsc
shtangfei----tokan
shtangfei----tomaswu
shtangfei----tomb
shtangfei----tommykeroro
shtav2019----tnndlala
shtav2019----tobotsc
shtav2019----tokan
shtav2019----tomaswu
shtav2019----tomb
shtav2019----tommykeroro
shtdalao----tnndlala
shtdalao----tobotsc
shtdalao----tokan
shtdalao----tomaswu
shtdalao----tomb
shtdalao----tommykeroro
作者: netdzb    时间: 2020-5-1 16:19

回复 1# Rasm

文本编辑器,列模式粘贴。
作者: Rasm    时间: 2020-5-1 17:20

本帖最后由 Rasm 于 2020-5-1 17:24 编辑

回复 2# netdzb


这个似乎无法实现 帖子里的效果
作者: 不知道是谁    时间: 2020-5-1 17:51

回复 1# Rasm
  1. @echo off
  2. for /f %%i in (1.txt) do (
  3. for /f %%j in (2.txt) do (
  4. echo %%i----%%j>>3.txt
  5. )
  6. )
  7. pause
复制代码

作者: went    时间: 2020-5-1 17:51

双重循环
  1. @echo off
  2. (
  3. for /f "delims=" %%i in (1.txt) do (
  4. for /f "delims=" %%a in (2.txt) do (
  5. echo %%i---%%a
  6. )
  7. )
  8. )>3.txt
  9. pause&exit
复制代码

作者: netdzb    时间: 2020-5-1 18:17

回复 4# 不知道是谁

这个不加变量延迟会有问题吗?
作者: wujunkai    时间: 2020-5-1 19:34

回复 6# netdzb


    循环变量每次循环的时候都会改变,不需要延迟变量
作者: Rasm    时间: 2020-5-1 19:52

回复 5# went


    你这个和楼上的有什么区别吗

生成的文件不一样大
作者: went    时间: 2020-5-1 20:42

回复 8# Rasm


没区别.
大小不一样可能是运行之前文件夹就存在3.txt
4楼是追加进txt,而5楼是直接覆盖
作者: 不知道是谁    时间: 2020-5-2 01:09

区别就是 ---- 和 ---
作者: Rasm    时间: 2021-7-19 08:48

本帖最后由 Rasm 于 2021-7-19 08:51 编辑

回复 4# 不知道是谁


    这个太慢啦,10MB的递归文件,总用时间要25分钟。大佬能否改善下
作者: Rasm    时间: 2021-7-19 08:49

回复 6# netdzb


    4楼代码效果太慢
作者: Rasm    时间: 2021-7-19 08:52

回复 5# went


    你的够快的,5秒搞定
作者: Batcher    时间: 2021-7-19 09:12

回复 4# 不知道是谁


把重定向放到for循环外面比较好,参考:
https://mp.weixin.qq.com/s/VZk0TmYUpFdCoWK9ZpgL0Q
作者: cmd1152    时间: 2021-7-19 13:36

@echo off
(for /f "delims=" %%i in (1.txt) do (for /f "delims=" %%a in (2.txt) do (echo %%i---%%a)))>3.txt
pause
exit




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