51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3239|回复: 0
打印 上一主题 下一主题

[原创] 将cmd的信息写入log日志(win7 X64电脑)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-7-6 10:22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本案例主要描述了将cmd信息写入Log日志,网络也没有这方面的资源,希望对需要的人有所帮助。其中用到的方法个人觉得不太好,但仍未找到其他捷径,如果大侠们有好的方法,希望指点赐教,O(∩_∩)O谢谢。

一.代码如下:

Const ForReading = 1, ForWriting = 2, ForAppending = 8'参数赋值(1:只读,2:只写,8:追加

Desktop.RunAnalog "Track2"'模拟录制,w7开始菜单中打开cmd.使用这种方法的原因是其他方式打开的cmd,w7 x64不能使用elnet 命令

set wh=createobject("WScript.Shell")'模拟键盘录制top信息。

wh.SendKeys"telnet 10.10.10.44"

wait 1

wh.SendKeys"{ENTER}"

wait 1

wh.SendKeys"admin"

wh.SendKeys"{ENTER}"

wait 2

wh.SendKeys"kedacomIPC"

wh.SendKeys"{ENTER}"

wait 2

wh.SendKeys"cd /"

wh.SendKeys"{ENTER}"

wait 1

wh.SendKeys"top -d 1"

wh.SendKeys"{ENTER}"

wait 2

Set Clipboard = CreateObject("Mercury.Clipboard")'创建剪切板对象

Set fso=createobject("scripting.FileSystemObject")'创建文件对象

filespec="D:\toplog.txt"'文件名和文件路径

Set toplog=fso.OpenTextFile(filespec,forAppending,true)'打开文件,对文件操作是追加。TRUE表示文件不存在时创建一个。

For i=1 to 2'for 设置X次将剪切板中的内容写入文件。利用do loop可以一直写入文件。

Clipboard.Clear

Desktop.RunAnalog "Track12"'模拟录制,将cmd中的top信息复制

toplogclip=Clipboard.GetText ()'将复制的内容放入剪切板

toplog.WriteLine(cstr(toplogclip))'将剪切板中的内容以追加方式写入文件toplog.

wait 10

Next



解析一.win7 x64不用QTP时telnet命令均可正常使用,但使用QTP sysutil.run打开的cmd始终不能使用telnet等命令。无奈,只能利用模拟录制打开cmd,解决此问题。另外,QTP正常录制识别不到cmd,故复制里面的信息也比较头疼,也采用模拟录制解决。由于模拟录制占用较多内存,故要尽量少用。用完之后,记得切换到正常模式录制。本案例中有2处使用了模拟录制.


模拟录制1:点击w7 开始菜单,输入 cmd.

生成语句 :Desktop.RunAnalog "Track2"





模拟录制2:将cmd中的top信息复制;右键全选后按下鼠标enter键表示复制。

生成语句:Desktop.RunAnalog "Track12"



解析二.复制到cmd里面的信息,那么怎么把它们写入log呢?主要利用了剪切板对象clipboard.先把复制的信息存入剪切板,再将剪切板的信息写入log文件.



具体实现:

1.  (1)创建剪切板对象

Set Clipboard = CreateObject("Mercury.Clipboard")

(2)清除信息

Clipboard.Clear

(3)将复制的信息存入剪切板

toplogclip=Clipboard.GetText ()

2.  (1)参数赋值(1:只读,2:只写,8:追加)

Const ForReading = 1, ForWriting = 2, ForAppending = 8

(2)创建文件对象

Set fso=createobject("scripting.FileSystemObject")

(3)设置文件名和路径

filespec="D:\toplog.txt"

(4)打开文件,TRUE表示若文件不存在则创建该文件

Set toplog=fso.OpenTextFile(filespec,forAppending,true)'

(5)将剪切板中的内容以追加方式写入文件toplog

toplog.WriteLine(cstr(toplogclip))'
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-25 14:22 , Processed in 0.065835 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表