标题: [文本处理] [已解决]批处理如何将2个文本文件的内容按行合并? [打印本页]
作者: fengyedou 时间: 2010-11-16 23:52 标题: [已解决]批处理如何将2个文本文件的内容按行合并?
我的需求是:
a.txt的内容是:
Owner:zxx009
Owner:yf010
Owner:ngy113
b.txt的内容是:
Owner:00009
Owner:00010
Owner:10013
希望得到新的文本文件c.txt,内容是
Owner:zxx009,00009
Owner:yf010,00010
Owner:ngy113,10013
然后搜索该文本,定义2个变量:user,id
user=zxx009,id=00009
循环下去,下一次搜索set的user=yf010,id=00010
再下一次user=ngy113,id=10013
——————————————————————
不知道有没有人知道怎么写这一段批处理,先谢谢了。
[ 本帖最后由 fengyedou 于 2010-11-28 19:48 编辑 ]
作者: lvsehuaxue 时间: 2010-11-17 16:42
- @echo off&Setlocal Enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set /a n+=1
- set v!n!=%%i
- )
- for /f "tokens=2 delims=:" %%j in (b.txt) do (
- set /a m+=1
- set w!m!=%%j
- )
- (for /l %%k in (1 1 %n%) do (
- call set /p=%%v%%k%%,%%w%%k%%<nul
- echo.
- ))>>4.txt
- for /f "tokens=2,3 delims=:," %%a in (c.txt) do (
- set user=%%a
- set id=%%b
- )
- pause
复制代码
作者: lvsehuaxue 时间: 2010-11-17 16:44 标题: 上面的4.txt改成c.txt即可
- @echo off&Setlocal Enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set /a n+=1
- set v!n!=%%i
- )
- for /f "tokens=2 delims=:" %%j in (b.txt) do (
- set /a m+=1
- set w!m!=%%j
- )
- (for /l %%k in (1 1 %n%) do (
- call set /p=%%v%%k%%,%%w%%k%%<nul
- echo.
- ))>>c.txt
- for /f "tokens=2,3 delims=:," %%a in (c.txt) do (
- set user=%%a
- set id=%%b
- )
- pause
复制代码
作者: fengyedou 时间: 2010-11-17 20:37 标题: 感谢~
(for /l %%k in (1 1 %n%) do (
call set /p=%%v%%k%%,%%w%%k%%<nul
echo.
))>>c.txt
——————这段不太看的懂,能解释下么,echo后面是一个点?
先感谢下,完全正确:)
作者: Batcher 时间: 2010-11-18 00:09 标题: 回复 4楼 的帖子
参考:常用的批处理实用技巧
http://bbs.bathome.net/thread-939-1-1.html
批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
作者: hanyeguxing 时间: 2010-11-29 03:22
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do set #%%a=%%b
- (for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* b.txt') do echo !#%%a!,%%c)>c.txt
- for /f "tokens=2* delims=:," %%a in (c.txt) do set user=%%a&set id=%%b
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |