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

[文本处理] 文本内容如何用批处理递归添加?

[复制链接]
发表于 2020-5-1 15:27:45 | 显示全部楼层 |阅读模式
创建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
发表于 2020-5-1 16:19:43 | 显示全部楼层
回复 1# Rasm

文本编辑器,列模式粘贴。
 楼主| 发表于 2020-5-1 17:20:07 | 显示全部楼层
本帖最后由 Rasm 于 2020-5-1 17:24 编辑

回复 2# netdzb


这个似乎无法实现 帖子里的效果
发表于 2020-5-1 17:51:06 | 显示全部楼层
回复 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
复制代码

评分

参与人数 1技术 +2 收起 理由
Rasm + 2 10MB总用时间10分钟

查看全部评分

发表于 2020-5-1 17:51:30 | 显示全部楼层
双重循环
  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
复制代码

评分

参与人数 1技术 +1 收起 理由
Rasm + 1 感谢!

查看全部评分

发表于 2020-5-1 18:17:09 | 显示全部楼层
回复 4# 不知道是谁

这个不加变量延迟会有问题吗?
发表于 2020-5-1 19:34:38 | 显示全部楼层
回复 6# netdzb


    循环变量每次循环的时候都会改变,不需要延迟变量
 楼主| 发表于 2020-5-1 19:52:31 | 显示全部楼层
回复 5# went


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

生成的文件不一样大
发表于 2020-5-1 20:42:13 | 显示全部楼层
回复 8# Rasm


没区别.
大小不一样可能是运行之前文件夹就存在3.txt
4楼是追加进txt,而5楼是直接覆盖

评分

参与人数 1技术 +1 收起 理由
Rasm + 1 感谢!

查看全部评分

发表于 2020-5-2 01:09:58 | 显示全部楼层
区别就是 ---- 和 ---
 楼主| 发表于 2021-7-19 08:48:33 | 显示全部楼层
本帖最后由 Rasm 于 2021-7-19 08:51 编辑

回复 4# 不知道是谁


    这个太慢啦,10MB的递归文件,总用时间要25分钟。大佬能否改善下
 楼主| 发表于 2021-7-19 08:49:57 | 显示全部楼层
回复 6# netdzb


    4楼代码效果太慢
 楼主| 发表于 2021-7-19 08:52:48 | 显示全部楼层
回复 5# went


    你的够快的,5秒搞定
发表于 2021-7-19 09:12:43 | 显示全部楼层
回复 4# 不知道是谁


把重定向放到for循环外面比较好,参考:
https://mp.weixin.qq.com/s/VZk0TmYUpFdCoWK9ZpgL0Q
发表于 2021-7-19 13:36:49 | 显示全部楼层
@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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:54 , Processed in 0.018754 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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