|
sonicandy
中级用户
积分 273
发帖 91
注册 2007-5-7
状态 离线
|
『楼 主』:
[已解决]请教如何将命令的输出既显示又输出到log文件中?
比如我想使用hhc.exe生成chm文件.
hhc.exe xxx.hhp
则此编译过程会显示在cmd窗口中.
如果使用
hhc.exe xxx.hhp > log.txt
则不会在屏幕上显示,直接输出到log.txt
请问能不能让输出的信息既显示在cmd窗口中,也输出到log.txt?
(已经搜索过论坛,但是没有找到可以解决这个问题的文章.)
[ Last edited by sonicandy on 2008-11-29 at 15:01 ]
|
|
2008-11-29 11:57 |
|
|
sonicandy
中级用户
积分 273
发帖 91
注册 2007-5-7
状态 离线
|
|
2008-11-29 15:00 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
@echo off
dir>log.txt
type log.txt
pause
|
|
|
2008-11-29 17:10 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
|
2008-11-29 17:47 |
|
|
yishanju
银牌会员
[b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
5 楼』:
好像 MTEE更加强大
更好用
|
有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2008-11-29 20:26 |
|
|
sonicandy
中级用户
积分 273
发帖 91
注册 2007-5-7
状态 离线
|
『第
6 楼』:
刚才实现了chm的生成代码,这回不用调用命令行了,直接在vbs的内部就可以完成.
vbs的wshshell提供了一个wshscriptexec对象:
http://www.elook.net.cn/handbook ... criptexecobject.htm
这个对象是通过wshell.exec得到的,以下是我实现的部分代码:
' 调用'hhc.exe'生成chm并保存输出到log文件
Sub GenChm()
Dim stream
Set stream = fso.opentextfile(logfile,2,true)
Dim oexec
Set oexec = shell.Exec(cmdline)
Do While Not oExec.StdOut.AtEndOfStream
Dim line
line = oexec.stdout.readline()
Call wscript.stdout.writeline(line)
Call stream.writeline(line)
Loop
Call stream.close
End Sub 当然,为了让wscript的标准输入输出句柄有效,必须使用cscript宿主来运行:-)
[ Last edited by sonicandy on 2008-11-29 at 23:21 ]
此帖被 +2 点积分 点击查看详情 评分人:【 HAT 】 | 分数: +2 | 时间:2008-11-30 11:32 |
|
|
|
2008-11-29 23:16 |
|
|
sonicandy
中级用户
积分 273
发帖 91
注册 2007-5-7
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by HAT at 2008-11-29 05:10 PM:
@echo off
dir>log.txt
type log.txt
pause |
|
这个貌似是命令执行完了以后才显示的,这样就没有即时显示的效果了.
当然如果命令运行时间不长的话可以使用这个方式:->
|
|
2008-11-29 23:26 |
|
|
sonicandy
中级用户
积分 273
发帖 91
注册 2007-5-7
状态 离线
|
『第
8 楼』:
4版主和5楼朋友说的工具我还没有用过..
不知道实现的是不是相同的功能?
如果是的话,还是直接写个脚本方便,呵呵
[ Last edited by sonicandy on 2008-11-29 at 23:32 ]
|
|
2008-11-29 23:30 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
|
2008-11-30 00:55 |
|