首页  >> 配置管理  >> IBM Rational ClearQuest / ClearDDTS/TestManager
在cq中对ftp进行操作:下载并删除多余文件并打包
作者 听雨屋檐人   查看 924   发表时间 2007/11/18 10:45  【论坛浏览】
下面的代码是在vb中写的,所以id等关键词没有管理cq字段直接赋值,实现登陆ftp服务器,下载所需要的文件(我们打包的目录中的全部文件),然后删除多余文件,然后调用winrar进行打包动作。 waap

waap
这里没有写上传的ftp代码,上传的代码在cq版本管理系统已经写好了,可以参考下。waap

waap

写这个是为了办公自动化的实施,如果每次版本启用后都需要人为的跟催scm打包的话,费时费力,而且还容易出错,所以写了个脚本,在版本启用动作执行的同时执行:waap

1.从ftp指定目录下载文件waap

2.删减不需要的文件waap

3.自动打包waap

4.上传回ftp制定目录。waap

这样四个步骤后让scm的工作更加简化。有更多时间去研究功能而不是花大量时间去做重复性劳动。waap

waap
waap
  代码:
Const OREMOTE = "banben\" '首先定义ftp的目录和帐号密码以及地址 waap
Const USERNAME = "ceshi" waap
Const PASSWORD = "ceshi" waap
Const HOSTNAME = "192.168.24.15" waap
Dim sessionwaap
Dim fsowaap
Dim ftpwaap
Dim oIDwaap
Dim oFileNamewaap
Dim kehuwaap
Dim banbenhaowaap
Const local = "c:\localtest\"waap
Set fso = CreateObject("Scripting.FileSystemObject")waap
Set ftp = CreateObject("ChilkatFTP.ChilkatFTP") waap
If Not fso.FolderExists(local) Thenwaap
fso.CreateFolder(local)waap
End Ifwaap
ftp.Username = USERNAMEwaap
ftp.Password = PASSWORDwaap
ftp.Hostname = HOSTNAMEwaap
OK = ftp.Connect '链接ftpwaap
If OK <> 1 Thenwaap
WScript.Echo ftp.LastErrorTextwaap
End Ifwaap
ftp.ChangeRemoteDir OREMOTE ' 开始进入ftp的制定目录。waap
oID = "K200" '这里的字段本来应该是取cq里面的某个字段的值,由于在外部调试就直接赋值了。waap
' ftp.CreateRemoteDir oID ' 如果需要新建就用这句,如果是已有的目录来变更当前路的话就用下句。waap
ftp.ChangeRemoteDir oIDwaap
kehu = "K200"waap
' ftp.CreateRemoteDir kehuwaap
ftp.ChangeRemoteDir kehuwaap
banbenhao = "K200_00B_V0_4_3"waap
' ftp.CreateRemoteDir banbenhaowaap
ftp.ChangeRemoteDir banbenhao waap
king = ftp.MGetFiles("*.*", local) '用mgetfiles来获得ftp指定目录中的所有文件,copy到上面定义的目录中。waap
If king <> 1 Thenwaap
WScript.Echo ftp.LastErrorTextwaap
End Ifwaap
ftp.Disconnectwaap
fso.DeleteFile local & "*.html" ' 删除不需要的东西!waap
fso.DeleteFile local & "*con*.txt" ' 删除不需要的东西!waap
Dim Rarexewaap
Dim Source waap
Dim Target waap
Dim FileStringwaap
Dim Shellwaap
dim RetCodewaap
Rarexe="C:\WinRAR.exe" '这里调用winrarwaap
Source="C:\localtest\*.*" waap
Target="C:\test.rar" waap
FileString = Rarexe & " a " & Target & " " & Source ' 这里开始压缩打包。waap
Set Shell = CreateObject("WScript.Shell")waap
RetCode = Shell.Run(FileString,1, True)
waap
[ 本帖最后由 听雨屋檐人 于 2007-12-11 14:42 编辑 ]

序号 评论者 共有评论 6   【论坛浏览】  【发表评论】 评论时间
1 yunshan 回复 楼主 的帖子
听雨,可以在代码中适当的加一些注释,那样将是一篇好的技术文章^_^
2007/11/19 12:26
2 懂你 等听雨在代码中加上注释,并解释一下大概的设计思想后再加精华。

加油啊,听雨。
2007/12/8 23:18
3 听雨屋檐人 哈哈!前段时间在忙于公司的脚本改进,没写注释,刚刚补上! 2007/12/11 14:35
4 ljs53 很赞同听雨这种可以通过一些工具把我们SCM的一些工作简单化
减轻我们的工作负担
2007/12/13 12:11
5 yunshan 给个小建议:
在使用完一些对象后,就将其释放,否则如果操作过频繁,就容易过度的消耗内存。
如Set FSO = Nothing
2007/12/13 12:18
6 听雨屋檐人 谢谢yunshan,
在上传后做了释放资源的动作!
2007/12/13 13:18
 共有评论数 6  每页显示 10
页码 1/1  |<  <<   1   >>  >|