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

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

创建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

回复 1# Rasm

文本编辑器,列模式粘贴。

TOP

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

回复 2# netdzb


这个似乎无法实现 帖子里的效果

TOP

回复 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

评分人数

    • Rasm: 感谢!技术 + 1

TOP

双重循环
  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

评分人数

    • Rasm: 感谢!技术 + 1

TOP

回复 4# 不知道是谁

这个不加变量延迟会有问题吗?

TOP

回复 6# netdzb


    循环变量每次循环的时候都会改变,不需要延迟变量

TOP

回复 5# went


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

生成的文件不一样大

TOP

回复 8# Rasm


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

评分人数

    • Rasm: 感谢!技术 + 1

TOP

区别就是 ---- 和 ---

TOP

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

回复 4# 不知道是谁


    这个太慢啦,10MB的递归文件,总用时间要25分钟。大佬能否改善下

TOP

回复 6# netdzb


    4楼代码效果太慢

TOP

回复 5# went


    你的够快的,5秒搞定

TOP

回复 4# 不知道是谁


把重定向放到for循环外面比较好,参考:
https://mp.weixin.qq.com/s/VZk0TmYUpFdCoWK9ZpgL0Q
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@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

TOP

返回列表