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

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

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万,

再开一贴 昨天以为解决了 没搞好 有没有大神帮个忙啊 急急 在线等
我是技术小白 我来求助 真希望有天我也能成为技术大牛

本帖最后由 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
复制代码

TOP

回复 2# qixiaobin0715


    执行后 test.txt还是原样
我是技术小白 我来求助 真希望有天我也能成为技术大牛

TOP

回复 3# 2359123467
已修改

TOP

回复 4# qixiaobin0715


   万分感谢!
我是技术小白 我来求助 真希望有天我也能成为技术大牛

TOP

回复 2# qixiaobin0715


这里有个比较简洁的方法:
http://bbs.bathome.net/thread-11360-1-1.html#pid72212
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 qixiaobin0715 于 2021-4-4 11:09 编辑

回复 6# Batcher
见识了,原来set /p可以这样玩。谢谢!
应当和你的帖子http://www.bathome.net/viewthrea ... &from=favorites的用法相仿。

TOP

仔细想了想,好像觉得两者差距很大。前者给变量没有赋值(<nul),后者是将文本文件(.log)中的各行依次赋给变量。但是前者如果没有赋值,又如何实现拼接的呢?

TOP

返回列表