中国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,则得到的文件是类似下面这样

  Quote:
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

而我所希望得到的是如最终屏显所示的,(不需要中间这么多行的),类似如下格式的文件:

  Quote:
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 楼』:  



  Quote:
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 楼』:  



  Quote:
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 楼』:  



  Quote:
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 楼』:  



  Quote:
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)  编辑帖子  回复  引用回复

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


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



论坛跳转: