标题: [文本处理] 【已解决】BAT或VBS:根据文本记录内容 合并同名文本数据 [打印本页]
作者: 思想之翼 时间: 2015-11-11 15:56 标题: 【已解决】BAT或VBS:根据文本记录内容 合并同名文本数据
本帖最后由 思想之翼 于 2015-11-11 18:50 编辑
D:/数据1/内有001-210个子文件夹,每个子文件夹内包含名称为00000-99999的txt文本
D:/数据2/内有名称为001-210的txt文本,其记录的数据多少不定
D:/数据1/与D:/数据2/内的所有txt文本,其数据记录格式均为竖排,每行一个数据,比如:
12345
23456
34567
现在欲根据D:/数据2/内txt文本记录的数值,提取合并D:/数据1/对应子文件夹内txt文本的数据。举例如下:
D:/数据2/内001.txt文本记录数值为12345 23456 34567(例中3个数据,实际数据多少不定),则提取合并D:/数据1/001子文件夹内12345.txt、23456.txt、34567.txt的数据,写入D:/数据3/001_1.txt
D:/数据2/内002.txt文本记录数值为12345 23456 34567(例中3个数据,实际数据多少不定),则提取合并D:/数据1/002子文件夹内12345.txt、23456.txt、34567.txt的数据,写入D:/数据3/002_1.txt
......
D:/数据2/内210.txt文本记录数值为12345 23456 34567(例中3个数据,实际数据多少不定),则提取合并D:/数据1/210子文件夹内12345.txt、23456.txt、34567.txt的数据,写入D:/数据3/210_1.txt
BAT VBS均可,只要速度快。恳望得到帮助。
作者: flyinnet9 时间: 2015-11-11 17:13
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b d:\数据2\*.txt') do (
- for /f "tokens=1-3 delims= " %%b in (%%a) do (
- pushd "d:\数据1\%%~na"
- copy /b %%b.txt+%%c.txt+%%d.txt "d:\数据3\%%~na_1.txt"
- popd
- )
- )
复制代码
作者: 思想之翼 时间: 2015-11-11 17:41
本帖最后由 思想之翼 于 2015-11-11 17:50 编辑
回复 2# flyinnet9
感谢您的帮助!
D:/数据2/内001.txt文本记录数值为12345 23456 34567 这是举例说明问题,实际情况下,D:/数据2/内001.txt-210.txt文本记录数值个数不定,不就是三个。而且,数据也非都是横排为一行,如果这是问题,可以将文本内的数据都设定为竖排,每行一个数据。
作者: flyinnet9 时间: 2015-11-11 18:03
本帖最后由 flyinnet9 于 2015-11-11 18:06 编辑
竖排- @echo off
- for /f "delims=" %%a in ('dir /a-d /b d:\数据2\*.txt') do (
- for /f "delims=" %%b in (%%a) do (
- type "d:\数据1\%%~na\%%b.txt" >>"d:\数据3\%%~na_1.txt"
- )
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |