标题: 如何拆分和合并
[打印本页]
作者: flyingphf
时间: 2008-3-27 18:54
标题: 如何拆分和合并
比如说有个1.txt文件,内容如下
aaa
bbb
ccc
现在把他按行拆分变为
2.txt内容为aaa,3.txt内容为bbb,4.txt内容为ccc,这是一个问题,如果能拆分又怎么把他合并为5.txt内容为
ccc
bbb
aaa
谢谢
作者: bat-zw
时间: 2008-3-27 19:28
标题: 方法比较笨但可以实现:
还是用set /p a=<1.txt
cd . >a.txt
for /f "tokens=*" %%b in (1.txt) do call :get %%b
for /f "tokens=1" %%c in (a.txt) do echo %%c >2.txt
for /f "tokens=2" %%c in (a.txt) do echo %%c >3.txt
for /f "tokens=3" %%c in (a.txt) do echo %%c >4.txt
for /f "tokens=1" %%d in (4.txt) do echo %%d >5.txt
for /f "tokens=1" %%e in (3.txt) do echo %%e >>5.txt
for /f "tokens=1" %%f in (2.txt) do echo %%f >>5.txt
del a.txt
goto :eof
:get
set /p a=<a.txt
echo %a%%1 >a.txt&goto :eof
[
Last edited by zw19750516 on 2008-3-27 at 07:30 PM ]
作者: abcd
时间: 2008-3-27 19:50
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* 1.txt') do (
set /a num=%%i+1
echo %%j>"!num!.txt"
)
pause
作者: abcd
时间: 2008-3-27 19:52
合并
@echo of
copy 2.txt+3.txt+4.txt 5.txt
pause
作者: bat-zw
时间: 2008-3-27 20:50
我怎么忘记copy了,受教了abcd
作者: bat-zw
时间: 2008-3-27 21:59
标题: 还是可以利用call代替变量延迟:
@echo off
set n=1
for /f "tokens=*" %%i in (1.txt) do call :change %%i
copy 4.txt+3.txt+2.txt 5.txt
goto :eof
:change
set /a n+=1
echo %1 >%n%.txt&goto :eof
[
Last edited by zw19750516 on 2008-3-27 at 10:03 PM ]