标题: 所有dat文件中提取最后一行,输出到一个文件中
[打印本页]
作者: dss75
时间: 2009-5-7 05:40
标题: 所有dat文件中提取最后一行,输出到一个文件中
从当前目录的所有子目录中的所有dat文件中提取最后一行,输出到一个文件中。
当前目录下有多个子目录,每个子目录下有若干个 dat 文本格式文件,
最后若干行如下:
For M5|Adr 122|KD1 19 08:20:003 01W|Rb 1.38019 m |HD 41.748 m | |
For M5|Adr 123|KD1 20 08:20:153 01W|Rf 1.46366 m |HD 41.484 m | |
For M5|Adr 124|KD1 20 08:20:15 01W| | |Z 2.01193 m |
For M5|Adr 125|KD1 20 01W|Sh 2.01193 m | | |
For M5|Adr 126|KD2 20 12 01W|Db 520.31 m |Df 520.47 m |Z 2.01193 m |
For M5|Adr 127|TO End-Line 01W| | | |
GD05---01-1W |Db 3050.24 m |Df 3050.41 m |Z -5.34509 m | (要提取的行)
(空行)
上述括号及括号内内为注释。最后一行实际为空行,提取时要求为过滤空行后的最后一行。
所有提出行逐行写入一个文件内。
仅使用DOS批处理,XP系统。
我太菜,急死了!
[
Last edited by dss75 on 2009-5-7 at 05:43 ]
作者: netbenton
时间: 2009-5-7 13:10
@echo off&setlocal enabledelayedexpansion
(for /f "delims=" %%a in ('dir /s /b /a-d *.dat') do (
for /f "delims=" %%b in ('type "%%a"') do (set str=%%b)
echo.!str!
))>a.txt
作者: dss75
时间: 2009-5-7 22:13
谢谢netbenton!试试先
非常好用!!
为了便于区分,我在echo一句改了下
echo.%%a: !str!
将每个文件名加在行首。
再次谢谢!
[
Last edited by dss75 on 2009-5-7 at 22:21 ]