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