中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 所有dat文件中提取最后一行,输出到一个文件中
作者:
标题: 所有dat文件中提取最后一行,输出到一个文件中 上一主题 | 下一主题
dss75
新手上路





积分 2
发帖 2
注册 2009-2-18
状态 离线
『楼 主』:  所有dat文件中提取最后一行,输出到一个文件中 使用 LLM 解释/回答一下

从当前目录的所有子目录中的所有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 ]


2009-5-7 05:40
查看资料  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

@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




精简
=> 个人网志
2009-5-7 13:10
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复
dss75
新手上路





积分 2
发帖 2
注册 2009-2-18
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

谢谢netbenton!试试先

非常好用!!

为了便于区分,我在echo一句改了下
echo.%%a: !str!

将每个文件名加在行首。


再次谢谢!

Last edited by dss75 on 2009-5-7 at 22:21 ]


2009-5-7 22:13
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: