51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2497|回复: 4
打印 上一主题 下一主题

[原创] vbs编写的一个比较目录内文件的程序片断。qtp调试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-17 16:58:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天写了一个vbs的小程序,在qtp里调试的,就发到这里吧,呵呵。
这个程序的目的是:
测试工作基本上都是天天有新build,有时候我们需要关注我们产品所在安装目录的文件(夹)变化,我的程序已经去处了日期的因素,只对文件的大小和名称进行关注。
把我的代码保存成yourname.vbs,然后自己创建一个old.txt的文件就行了,执行以后就产生了new.txt result.txt文件,把new修改成old.txt就可以第2天接着用了。有不明白的问我啊,谁有好的建议也可以说。大家都自己修改一下使用吧,尤其是那句转换目录和生成文件的地方,你们要先修改了才能用。
Set WShell =CreateObject("Wscript.Shell")   
curr_d=WShell.currentdirectory
set fso_curr = createobject("Scripting.FileSystemObject")
set conn_folder = fso_curr.getfolder(curr_d)
if conn_folder.isrootfolder then
curr_d=curr_d
else
curr_d=curr_d&"\"
end if
status = WShell.Run("cmd /c c:&cd c:\pro* & cd outlook & dir /s >c:\tmp.txt",1,True) '自己修改一下这句话吧。按照你的要求  
Set wshell=nothing

Dim tmp_file : tmp_file = "c:\tmp.txt"
Dim old_file : old_file = curr_d&"old.txt"
Dim new_file : new_file = curr_d&"new.txt"
Dim result : result = curr_d&"result.txt"
msgbox "Welcome to use liang's program to compare your files in a specific folder, you can change the destination folder anyway.thanks , email:jacky_25@tom.com
Remove_date tmp_file,new_file
Compare old_file,new_file,result
finish tmp_file

Private Function Remove_date(tmp_file,new_file)
Dim fso_date : Set fso_date = CreateObject("Scripting.FileSystemObject")
Dim tmp_str : Set tmp_str = fso_date.OpenTextFile(tmp_file)
Dim new_str : Set new_str = fso_date.CreateTextFile(new_file)

Set regEx = New RegExp   ' Create a regular expression.
   regEx.Pattern = "\d+\/\d+\/\d+  \d+\:\d+ [AP][M]"   ' Set pattern. [0-9][0-9]:[0-9][0-9] [AP][M]
   regEx.IgnoreCase = True   ' Set case insensitivity.
   regEx.Global = True   ' Set global applicability.
       
While not tmp_str.atendofstream
        Dim line : line=tmp_str.readline
        Dim r_result : r_result = regEx.replace(line,"")
        new_str.writeline r_result
wend
tmp_str.close
new_str.close
set fso_date=nothing
End Function

Private Function Compare(old_file,new_file,result)
Set fso_compare=CreateObject("Scripting.FileSystemObject")
Set Str_old = fso_compare.Opentextfile(old_file)
Set Str_new = fso_compare.Opentextfile(new_file)
Set Str_result = fso_compare.createtextfile(result)
While Not Str_old.atendofstream
        String_old=Str_old.readline
        String_new=Str_new.readline
        If String_old <> String_new Then
                Str_result.writeline "str_old:"&string_old
                Str_result.writeline "str_new:"&string_new
                Str_result.writeline "*******************************************************"
        End If
Wend
Str_old.close
Str_new.close
Str_result.close
set fso_compare=nothing
End Function

private function finish(dir)
set dir_obj = createobject("Scripting.FileSystemObject")
set file_obj = dir_obj.getFile(dir)
file_obj.delete
set dir_obj=nothing
set file_obj=nothing
end function

[ 本帖最后由 jackymail 于 2007-7-17 17:02 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-17 17:05:58 | 只看该作者
原创啊,要支持一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-17 17:10:48 | 只看该作者
ding yi xia.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-7-18 12:03:10 | 只看该作者

唉,真是遗憾啊。

我今天用了自己写的东西发现还差的太远。
本来想模仿ue得比较文件了,看来人家ue不是我这种比较方法。赫赫,我的方法文件有一行位置不一样就完蛋了,可是ue能够持续查找下面行是否有类似的文件。他的比较台细致了,看来这是个大工程。偶写起来太吃力了,还是用ue吧。呵呵。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2007-7-19 00:10:36 | 只看该作者
    不错 支持一下
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-13 06:26 , Processed in 0.066368 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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