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

[文本处理] 批处理如何把txt按指定行数合并行内容?

[复制链接]
发表于 2021-4-3 12:46:05 | 显示全部楼层 |阅读模式
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
0
1
2
3
4
5
6
7
8
9
好比设置按12行合并一行
执行后
abcdefghijkl
mnopqrstuvwx
yz0123456789

如何写批处理?求救

xt内容类似如下 如何每个12行 合并成一行

23.32万,30.58万,27.41万,30.80万,24.39万,
24.89万,27.82万,29.42万,28.14万,26.41万,
27.67万,31.08万,27.49万,39.78万,34.81万,
36.38万,43.17万,91.96万,36.87万,35.39万,
59.06万,54.40万,42.62万,43.96万,59.22万,
53.80万,60.44万,71.37万,63.84万,120.03万,
89.56万,64.66万,62.87万,103.56万,83.85万,
65.50万,72.78万,90.40万,148.66万,187.42万,
114.51万,117.47万,204.72万,108.44万,123.45万,
133.19万,93.07万,69.86万,80.81万,119.65万,
131.75万,159.29万,321.43万,169.94万,408.87万,
57.12万,64.33万,115.59万,
21.08万,25.59万,23.65万,33.37万,53.86万,
37.40万,26.60万,26.52万,29.97万,36.75万,
51.09万,134.85万,21.81万,22.78万,31.41万,
35.72万,64.70万,52.48万,35.92万,20.23万,
23.21万,21.46万,27.75万,32.71万,26.24万,
28.99万,31.76万,41.50万,36.59万,35.72万,
19.83万,22.11万,22.72万,25.21万,43.35万,
35.07万,59.97万,29.84万,49.34万,50.26万,
58.98万,23.58万,23.69万,24.66万,33.71万,
23.51万,45.11万,27.22万,27.96万,35.76万,
26.43万,28.69万,27.63万,41.26万,41.21万,
24.80万,25.42万,28.61万,
70.48万,82.63万,75.87万,79.91万,93.56万,
88.44万,62.86万,72.70万,80.91万,114.31万,
69.90万,65.34万,68.90万,77.42万,73.18万,
74.68万,101.61万,121.51万,89.97万,67.15万,
91.12万,93.12万,124.13万,140.89万,124.86万,

再开一贴 昨天以为解决了 没搞好 有没有大神帮个忙啊 急急 在线等
发表于 2021-4-3 13:17:51 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-4-3 13:50 编辑

回复 1# 2359123467
写一个不太成熟的代码吧,凑合能使:
  1. @echo off
  2. set n=0
  3. setlocal enabledelayedexpansion
  4. (for /f "delims=" %%a in (test.txt) do (
  5.     set /a n+=1
  6.     if !n! leq 12 (
  7.         set str=!str!%%a
  8.     ) else (
  9.         echo,!str!
  10.         set str=%%a
  11.         set n=1
  12.     )
  13. )
  14. echo,!str!)>a.txt
  15. pause
复制代码
 楼主| 发表于 2021-4-3 13:21:36 | 显示全部楼层
回复 2# qixiaobin0715


    执行后 test.txt还是原样
发表于 2021-4-3 13:51:09 | 显示全部楼层
回复 3# 2359123467
已修改
 楼主| 发表于 2021-4-3 13:56:21 | 显示全部楼层
回复 4# qixiaobin0715


   万分感谢!
发表于 2021-4-3 21:00:35 | 显示全部楼层
回复 2# qixiaobin0715


这里有个比较简洁的方法:
http://bbs.bathome.net/thread-11360-1-1.html#pid72212
发表于 2021-4-3 21:05:41 | 显示全部楼层
回复 1# 2359123467


http://bcn.bathome.net/s/tool/index.html?key=gawk
下载 gawk.exe 和下面的 test.bat 脚本以及你的txt文件放在同一个目录下:
  1. @echo off
  2. gawk "NR%%12{printf $0;next}1" "a.txt" > "b.txt"
复制代码
双击执行 test.bat
发表于 2021-4-4 09:15:31 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-4-4 11:09 编辑

回复 6# Batcher
见识了,原来set /p可以这样玩。谢谢!
应当和你的帖子http://www.bathome.net/viewthrea ... &from=favorites的用法相仿。
发表于 2021-4-4 17:36:03 | 显示全部楼层
仔细想了想,好像觉得两者差距很大。前者给变量没有赋值(<nul),后者是将文本文件(.log)中的各行依次赋给变量。但是前者如果没有赋值,又如何实现拼接的呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 13:57 , Processed in 0.015782 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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