中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何将批处理运行的_最终_屏显信息输出到文件?
作者:
标题: 如何将批处理运行的_最终_屏显信息输出到文件? 上一主题 | 下一主题
noe
新手上路





积分 17
发帖 9
注册 2008-3-29
状态 离线
『楼 主』:  如何将批处理运行的_最终_屏显信息输出到文件?

如题. 如,有个bat,运行完毕pause后,此时我在cmd窗口全选,复制,保存为文本. 我要的就是自动保存这个文本的方法. 举个实例便于说明.举例仅为说明之用,并非寻求对此个例的解决方案. 现有一个wav转flac的批处理. flac.exe test.wav 运行后,屏幕一直在跳动显示进度.直至运行完毕,会给出最终文件大小,压缩率等信息.(若表达不够清楚请看图. 运行中1: 运行中2: 最终屏显: 这最终的屏显信息是我所要的. 若使用2>log,则得到的文件是类似下面这样
flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. wavtest.wav: 3% complete, ratio=0.251 wavtest.wav: 5% complete, ratio=0.280 wavtest.wav: 7% complete, ratio=0.279 ...中间省略 wavtest.wav: 95% complete, ratio=0.450 wavtest.wav: 98% complete, ratio=0.452 wavtest.wav: wrote 4770849 bytes, ratio=0.445
而我所希望得到的是如最终屏显所示的,(不需要中间这么多行的),类似如下格式的文件:
flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. wavtest.wav: wrote 4770849 bytes, ratio=0.445
以上举例仅为说明之用,并非寻求对此个例的解决方案. 可否有命令或工具能够做到? 请各位赐教.谢谢. PS,我是希望直接得到这样的文件,而不是完成以后再用工具对log进行处理. [ Last edited by noe on 2009-2-8 at 23:07 ]


2009-2-7 16:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

findstr /v "%%" log




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-2-7 17:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
noe
新手上路





积分 17
发帖 9
注册 2008-3-29
状态 离线
『第 3 楼』:  

Originally posted by slore at 2009-2-7 05:00 PM: findstr /v "%%" log
感谢. 但我上面举的flac的例子仅为举例.用findstr似乎无法通用在其他实例上. 是否有通用性较好的方法.


2009-2-7 21:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 4 楼』:  

是不是前三行和最后一行呢




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-7 21:40
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
noe
新手上路





积分 17
发帖 9
注册 2008-3-29
状态 离线
『第 5 楼』:  

Originally posted by netbenton at 2009-2-7 09:40 PM: 是不是前三行和最后一行呢
您好.我想找的是有通用性的解决方案. 这里的实例仅为便于说明使用. 我的需求是如标题所述, 将_最终_屏显输出到文件.


2009-2-8 12:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 6 楼』:  

你再许个不同的例子看,程序要能通用,就是找到不同例子间相同的地方,去处理它,否则,是无法写的。




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-8 13:00
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
noe
新手上路





积分 17
发帖 9
注册 2008-3-29
状态 离线
『第 7 楼』:  

Originally posted by netbenton at 2009-2-8 01:00 PM: 你再许个不同的例子看,程序要能通用,就是找到不同例子间相同的地方,去处理它,否则,是无法写的。
您好. 我换一种表达方式. 有个bat,运行完毕pause后,此时我在cmd窗口全选,复制,保存为文本. 我要的就是自动保存这个文本的方法. 而不是将stderr重定向到log文件后怎么去处理这个log的方法.


2009-2-8 20:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 8 楼』:  

flac.exe test.wav|findstr /c:"wrote">>log.txt [ Last edited by yishanju on 2009-2-8 at 20:36 ]




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-8 20:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
noe
新手上路





积分 17
发帖 9
注册 2008-3-29
状态 离线
『第 9 楼』:  

Originally posted by yishanju at 2009-2-8 08:09 PM: flac.exe test.wav|findstr /c:"wrote">>log.txt
感谢您的回复. 不过如果回复前能看一下帖子就更好了,能节约你我的时间. 我要的不是对此个例的解决方案.


2009-2-8 23:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 10 楼』:  

你还真让人难以理解




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-8 23:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 11 楼』:  

能重新把图传一下么 传个能看得清的图




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-8 23:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 12 楼』:  看看这样行吗

@echo off ::%1 为指定的输出文件名,否则输出到abcec.txt ::DOS下保存整个屏幕的批处理,不支持中文 goto :begin f 100 l14 B8 00 B8 50 1F BF 00 02 B9 D0 07 BD 02 08 BA 50 00 AD 3C 20 f 114 l14 75 03 43 75 02 31 DB AA 4A 75 0D B8 0D 0A 29 DF 29 DD 31 DB f 128 l0e AB BA 50 00 E2 E3 06 1F 89 E9 31 DB 90 90 t=100 g 134 w 200 q :begin if '%1'=='' set of=abcec.txt debug %1%of%<%~f0>nul start notepad %1%of% [ Last edited by netbenton on 2009-2-9 at 00:33 ]




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-8 23:33
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复

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


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



论坛跳转: