标题: 求个文本合并的批处理或VBS
[打印本页]
作者: 77720666
时间: 2009-4-7 06:29
标题: 求个文本合并的批处理或VBS
ab两个文本~
将b文本每行内容插在a文本对应行的后面
如:
a文本内容
123
456
789
...
b文本内容
abc
def
hij
...
处理后
123----abc
456----def
789----hij
想了很久不知道该怎么写
作者: netbenton
时间: 2009-4-7 07:31
@echo off
set n=0
for /f "tokens=*" %%a in (a.txt) do (
set/a n+=1
call set #%n%#=%%a
)
set n=0
for /f "tokens=*" %%a in (b.txt) do (
set/a n+=1
call echo.%%#%n%#%%----%%a
)
pause
作者: moniuming
时间: 2009-4-7 07:46
如果两个文本的行数一样,可以参考下面的代码:
@echo off
for /f "delims=" %%a in (a.txt) do (
call :lp "%%a"
)
pause&goto :eof
:lp
for /f "%skp% delims=" %%b in (b.txt) do (
set /a n+=1
call set skp=skip=%%n%%
echo.%~1---%%b
goto :eof
)
作者: moniuming
时间: 2009-4-7 07:52
2楼的应该是这样吧:
@echo off
set n=0
for /f "tokens=*" %%a in (a.txt) do (
set/a n+=1
call set #%%n%%#=%%a
)
set n=0
for /f "tokens=*" %%a in (b.txt) do (
set/a n+=1
call call echo.%%%%#%%n%%#%%%%----%%a
)
pause
作者: s11ss
时间: 2009-4-7 08:08
'cscript -nologo a.vbs
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFileA = oFso.OpenTextFile("a.txt")
Set oFileB = oFso.OpenTextFile("b.txt")
While Not (oFileA.AtEndOfLine Or oFileB.AtEndOfLine)
WSH.Echo oFileA.ReadLine & "----" & oFileB.ReadLine
Wend
作者: netbenton
时间: 2009-4-7 09:06
4楼正解,
偶是漏掉了一层call
见笑了。^_^
作者: everest79
时间: 2009-4-7 10:37
无差错行对应实例
@echo off
for /f "skip=4 tokens=1,2 delims=[]" %%i in ('find /v /n "" ?.txt^|sort') do (
If Not defined textnewline%%i (
set/p=%%j---<nul
set textnewline%%i=%%i
) else (
echo %%j
)
)>>output.txt
作者: s11ss
时间: 2009-4-7 11:11
不行的,如[1]的下一行可能是[10]
作者: everest79
时间: 2009-4-7 11:33
这个没考虑,哈哈
作者: 77720666
时间: 2009-4-8 06:05
谢谢各位了~
看来最简单还是用VBS
作者: 77720666
时间: 2009-4-8 06:07
Originally posted by everest79 at 2009-4-7 10:37 AM:
无差错行对应实例
[code]
@echo off
for /f "skip=4 tokens=1,2 delims=[]" %%i in ('find /v /n "" ?.txt^|sort') do (
If Not defined textnewline%%i (
set/p=%%j---< ...
对不起,您最近 24 小时评分数超过 5 点 限制,请返回。
[ 点击这里返回上一页 ]
不好意思了