下面的代码是在vb中写的,所以id等关键词没有管理cq字段直接赋值,实现登陆ftp服务器,下载所需要的文件(我们打包的目录中的全部文件),然后删除多余文件,然后调用winrar进行打包动作。
这里没有写上传的ftp代码,上传的代码在cq版本管理系统已经写好了,可以参考下。
写这个是为了办公自动化的实施,如果每次版本启用后都需要人为的跟催scm打包的话,费时费力,而且还容易出错,所以写了个脚本,在版本启用动作执行的同时执行:
1.从ftp指定目录下载文件
2.删减不需要的文件
3.自动打包
4.上传回ftp制定目录。
这样四个步骤后让scm的工作更加简化。有更多时间去研究功能而不是花大量时间去做重复性劳动。
复制内容到剪贴板
代码:
Const OREMOTE = "banben\" '首先定义ftp的目录和帐号密码以及地址
Const USERNAME = "ceshi"
Const PASSWORD = "ceshi"
Const HOSTNAME = "192.168.24.15"
Dim session
Dim fso
Dim ftp
Dim oID
Dim oFileName
Dim kehu
Dim banbenhao
Const local = "c:\localtest\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ftp = CreateObject("ChilkatFTP.ChilkatFTP")
If Not fso.FolderExists(local) Then
fso.CreateFolder(local)
End If
ftp.Username = USERNAME
ftp.Password = PASSWORD
ftp.Hostname = HOSTNAME
OK = ftp.Connect '链接ftp
If OK <> 1 Then
WScript.Echo ftp.LastErrorText
End If
ftp.ChangeRemoteDir OREMOTE ' 开始进入ftp的制定目录。
oID = "K200" '这里的字段本来应该是取cq里面的某个字段的值,由于在外部调试就直接赋值了。
' ftp.CreateRemoteDir oID ' 如果需要新建就用这句,如果是已有的目录来变更当前路的话就用下句。
ftp.ChangeRemoteDir oID
kehu = "K200"
' ftp.CreateRemoteDir kehu
ftp.ChangeRemoteDir kehu
banbenhao = "K200_00B_V0_4_3"
' ftp.CreateRemoteDir banbenhao
ftp.ChangeRemoteDir banbenhao
king = ftp.MGetFiles("*.*", local) '用mgetfiles来获得ftp指定目录中的所有文件,copy到上面定义的目录中。
If king <> 1 Then
WScript.Echo ftp.LastErrorText
End If
ftp.Disconnect
fso.DeleteFile local & "*.html" ' 删除不需要的东西!
fso.DeleteFile local & "*con*.txt" ' 删除不需要的东西!
Dim Rarexe
Dim Source
Dim Target
Dim FileString
Dim Shell
dim RetCode
Rarexe="C:\WinRAR.exe" '这里调用winrar
Source="C:\localtest\*.*"
Target="C:\test.rar"
FileString = Rarexe & " a " & Target & " " & Source ' 这里开始压缩打包。
Set Shell = CreateObject("WScript.Shell")
RetCode = Shell.Run(FileString,1, True)[
本帖最后由 听雨屋檐人 于 2007-12-11 14:42 编辑 ]