标题: [文本处理] 从多个文本中提取每一列内容替换掉指定文本里的指定内容 [打印本页]
作者: denglv 时间: 2008-12-23 09:43 标题: 从多个文本中提取每一列内容替换掉指定文本里的指定内容
本帖最后由 pcl_test 于 2018-3-19 12:31 编辑
如何处理多文本?
比如有a.txt文件内容为:
张三 工号:20080001 欢迎。。。。
b.txt内容为:李四 王五 赵六。。。每个名字一行共100个
c.txt内容为:20080003 20080064 2008008 2007003 2004004。。。也是每个一行共100个
如何用for 循环从b和c的第1行到100行提取替换a中的张三和20080001生成1.txt,2.txt..............100.txt
1.txt内容为:李四 工号:20080003 欢迎。。。。
2.txt内容为:王五 工号:20080064 欢迎。。。。
…………
请教高手如何实现呢?
作者: Batcher 时间: 2008-12-23 13:25
- @echo off
- setlocal enabledelayedexpansion
- set fileNum=1
- set /p rowFstA=<a.txt
- set /p rowFstB=<b.txt
- >!fileNum!.txt echo %rowFstA% 工号:%rowFstB% 欢迎。。。。
- for /f "skip=1 delims=" %%a in (a.txt) do (
- call :scan !fileNum!
- set /a fileNum+=1
- >!fileNum!.txt echo %%a 工号:!rowFileB! 欢迎。。。。
- )
- goto :eof
- :scan
- for /f "skip=%1 delims=" %%b in (b.txt) do (
- set rowFileB=%%b
- goto :eof
- )
复制代码
作者: denglv 时间: 2008-12-23 13:36
谢谢了!刚才用了,很好!
作者: tireless 时间: 2008-12-24 11:14
- @echo off & setlocal EnableDelayedExpansion
- for /f %%a in (b.txt) do (
- set /a n+=1
- set /p=%%a<nul>!n!.txt
- )
-
- for /f %%a in (c.txt) do (
- set /a m+=1
- set /p= 工号:%%a 欢迎。。。。<nul>>!m!.txt
- )
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |