如何用批处理 将N多个txt文件中的内容,先合并成一行,然后再全部合并成一个TXT文件
如:1.txtA111A222A3332.txtB111B222B3333.txtC111C222C333合并成新的文件格式如下:A111A222A333B111B222...
如:1.txt
A111
A222
A333
2.txt
B111
B222
B333
3.txt
C111
C222
C333
合并成新的文件格式如下:
A111 A222 A333
B111 B222 B333
C111 C222 C333
文件个数不能确定...
多谢! 展开
A111
A222
A333
2.txt
B111
B222
B333
3.txt
C111
C222
C333
合并成新的文件格式如下:
A111 A222 A333
B111 B222 B333
C111 C222 C333
文件个数不能确定...
多谢! 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
set "fn="1.txt" "2.txt" "3.txt""
(for %%i in (%fn%) do (
for /f "delims=" %%j in ('type %%i') do (
set /a m+=1
)
for /f "delims=" %%j in ('type %%i') do (
set /a n+=1
if !n! equ !m! (
echo;%%j&set "n=0"
) else (
set /p=%%j <nul
)
)
set "m=0"
))>result.txt
endlocal
pause>nul
如果对空格的要求不严格的话:
@echo off
set "fn="1.txt" "2.txt" "3.txt""
(for %%i in (%fn%) do (
for /f "delims=" %%j in ('type %%i') do (
set /p=%%j <nul
)
echo;
))>result.txt
pause>nul
PS:两者产生的结果的不同之处在于第二种会在result.txt每行的末尾添加一个空格,而第一种则不会,如果不是特别要求的话推荐第二种,效率会高一些。。。
set "fn="1.txt" "2.txt" "3.txt""
(for %%i in (%fn%) do (
for /f "delims=" %%j in ('type %%i') do (
set /a m+=1
)
for /f "delims=" %%j in ('type %%i') do (
set /a n+=1
if !n! equ !m! (
echo;%%j&set "n=0"
) else (
set /p=%%j <nul
)
)
set "m=0"
))>result.txt
endlocal
pause>nul
如果对空格的要求不严格的话:
@echo off
set "fn="1.txt" "2.txt" "3.txt""
(for %%i in (%fn%) do (
for /f "delims=" %%j in ('type %%i') do (
set /p=%%j <nul
)
echo;
))>result.txt
pause>nul
PS:两者产生的结果的不同之处在于第二种会在result.txt每行的末尾添加一个空格,而第一种则不会,如果不是特别要求的话推荐第二种,效率会高一些。。。
追问
你好,非常感谢。
如果我想把每行的结果中间的空格去掉,应该怎么写呢?
需要结果如下:
A111A222A333
B111B222B333
C111C222C333
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询