CuteFTP上传脚本(VBS)
2010年08月13日
  Option Explicit ' 强制显式声明变量。
  '************************************************* *******************
  '* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  '* CuteFTP Pro Script
  '* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  '*
  '* 作者:张博
  '*
  'CuteFTP脚本(VBScript),上传到多个服务器
  '必须首先安装CuteFTP软件的较新版本(早期版本存在严重BUG,6.0版没有问题)
  '运行脚本时可能需要首先关闭CuteFTP窗口(某些版本有此问题)
  '需要配置的内容:
  '变量appname 应用的名字,脚本执行过程中会显示
  '变量LocalDir 用作中转的本地绝对路径,若不存在会自动创建
  '数组RemoteInfo 目标服务器的信息,包括域名(IP)、用户、口令、基本路径
  '对象MySite MySite2 的各项属性,连接源FTP和目标FTP的CuteFTP对象,需要配置站点域名或IP、用户名、口令
  '数组JobInfo 要传输的文件的相对路径和文件名
  ' 相对路径可以为""或多级目录"dir1/dir2"
  ' 文件名可以带通配符,带通配符可能会连子目录一起操作,UNIX机要区分大小写
  '执行时第一次提示任务名称,第二次提示要执行的任务(此时可以取消任务),确定后实际执行任务,最后提示任务完成
  '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
  '通用函数
  '改变本地工作路径
  Function lChangeDir(varTE,vardir)
  If ""=vardir Then Exit Function
  If (Not (varTE.LocalExists(vardir))) Then
  varTE.CreateLocalFolder vardir
  End If
  varTE.LocalFolder = vardir
  End Function
  '改变远程工作路径
  Function rChangeDir(varTE,vardir)
  Dim b
  If ""=vardir Then Exit Function
  b = varTE.RemoteExists(vardir)
  If (Not Cbool(b)) Then
  varTE.CreateRemoteFolder vardir
  End If
  varTE.RemoteFolder = vardir
  End Function
  '同时改变本地和远程工作路径
  Function lrChangeDir(varTE,lbasedir,rbasedir,lrdir)
  lChangeDir varTE , lbasedir
  lChangeDir varTE , lrdir
  'varTE.RemoteCommand "CD"
  rChangeDir varTE , rbasedir
  rChangeDir varTE , lrdir
  End Function
  '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
  '属于特定应用的函数
  Function AddRemoteInfo(infoarray,host,login,pass,basedir)
  if infoarray(0,0) >= UBound(infoarray) then
  MsgBox "AddRemoteInfo : array fulled"
  Quit 1
  End If
  infoarray(0,0) = infoarray(0,0) + 1
  infoarray(infoarray(0,0),0)=host
  infoarray(infoarray(0,0),1)=login
  infoarray(infoarray(0,0),2)=pass
  infoarray(infoarray(0,0),3)=basedir
  End Function
  Function AddJobInfo(infoarray,reldir,file)
  if infoarray(0,0) >= UBound(infoarray) then
  MsgBox "AddRemoteInfo : array fulled"
  Quit 1
  End If
  infoarray(0,0) = infoarray(0,0) + 1
  infoarray(infoarray(0,0),0)=reldir
  infoarray(infoarray(0,0),1)=file
  End Function
  Function InitTEObj(teobj,infoarray,i)
  teobj.Protocol = "FTP"
  teobj.Host = infoarray(i,0)
  teobj.Login = infoarray(i,1)
  teobj.Password = infoarray(i,2)
  teobj.UseProxy = "OFF"
  teobj.MaxConnections = 5
  teobj.TransferType = "ASCII"
  End Function
  Dim appname '应用名称
  Dim report '报告
  Dim i,j '通用循环变量
  appname = "省集中 文件发布"
  report = ""
  MsgBox "CuteFTP pro VBS 脚本 启动 - " & appname
  Dim MySite 'FTP站点
  Dim LocalDir '本地基本路径 必须是绝对路径
  '创建CuteFtp 对象
  Set MySite = CreateObject("CuteFTPPro.TEConnection")
  '下标0用于记录有效数据的个数
  Dim RemoteInfo(100,3) '数组下标基于0并且定义的是最大下标,因此可用的为(0-100,0-3)
  '第二维依次为主机名、登录名、口令、基础路径,不使用第一维的0
  Dim JobInfo(100,1) '不使用第一维的0,第二维依次为相对路径、文件名
  RemoteInfo(0,0)=0
  JobInfo(0,0)=0
  '本地基本路径
  LocalDir="本地根目录" '必须是绝对路径
  '站点信息,只能添加一个远程站点,添加多个未经测试
  AddRemoteInfo RemoteInfo,"ip地址","用户名","密码","远程根目录"
  '任务信息
  'AddJobInfo JobInfo,"相对路径","文件名,可带通配符,递归的"
  'AddJobInfo JobInfo,"相对路径","文件名,可带通配符"
  'AddJobInfo JobInfo,"相对路径","文件名,可带通配符"
  'AddJobInfo JobInfo,"相对路径","文件名,可带通配符"
  report = "即将执行下列任务:" & Chr(13) & Chr(10)
  For i=1 To JobInfo(0,0)
  report = report & Chr(13) & Chr(10) & JobInfo(i,0) & " - " & JobInfo(i,1)
  Next
  report = report & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "本地路径: " & Chr(13) & Chr(10) & LocalDir
  report = report & Chr(13) & Chr(10) & "目的: "
  For i=1 To RemoteInfo(0,0)
  report = report & Chr(13) & Chr(10) & RemoteInfo(i,0) & ":" & RemoteInfo(i,3)
  Next
  If vbCancel = MsgBox(report,vbOKCancel) Then
  Quit 1
  End If
  report = ""
  For i=1 To RemoteInfo(0,0)
  InitTEObj MySite,RemoteInfo,i
  '连接到站点
  MySite.Connect
  If (Not Cbool(MySite.IsConnected)) Then
  MsgBox "Could not connect to: " & MySite.Host & " Aborting!" &MySite.ErrorDescription
  Quit(1)
  End If
  For j=1 To JobInfo(0,0)
  lrChangeDir MySite,LocalDir,RemoteInfo(i,3),JobInfo(j,0)
  MySite.Upload JobInfo(j,1)
  Next
  '关闭连接
  MySite.Close
  report = report & Chr(13) & Chr(10) & RemoteInfo(i,0)
  Next
  MsgBox "CuteFTP pro VBS 脚本 结束 - " & appname & Chr(13) & Chr(10) & report

CuteFTP上传脚本(VBS)相关推荐

  1. MySQL自动备份脚本和ftp上传脚本

    MySQL自动备份脚本,并上传ftp 在日常的工作中Mysql数据库备份是长期需要去做的一件运维工作,但是人工手动去做这一机械的动作确实必要性不高,所以写个脚本来跑是比较好的. mysql备份脚本 # ...

  2. ios 自动打包命令_iOS自动打包上传脚本

    自从将swift2.2升级到swift3.0, 每次使用Xcode8编译都很慢,很是不爽,于是有了研究下xcodebuild命令行打包的想法,起初不知道用shell,还是用python, 在网上大概搜 ...

  3. linux ftp perl上传脚本

    自从实现FTP上传功能之后就一直未停止过对脚本的改进,但改来改去shell脚本还是有些地方做不过于是把脚本换成perl脚本了,该脚本为避免工作中服务器调整的原因造成忘记更脚本变量,所以就直接去抓取另一 ...

  4. hdfs日志上传脚本(三)

    为了上传文件到hdfs,我们曾写过脚本,也曾搭过webdav:但是原来写脚本时,我们把日志下载到linux服务器,这样就多了一步磁盘I/O操作,而通过webdav直接从windows上传日志到hdfs ...

  5. 阿里云OSS增量上传脚本

    此脚本是用来发布我个人博客Poison而编写的,因为工作中常用语言为Java,而Python仅是副业,代码如有不当之处,敬请指出. 逻辑很简单,递归遍历本地目录,然后判断每个文件在OSS里是否存在,如 ...

  6. 利用cuteftp上传并修改网站上内容

    1.下载cuteftp 2.在host中输入网址(如:219.142.121.2) 3.username中输入(如:BNULS) 4.passpord中输入:(如410teamgood) 5.端口输入 ...

  7. cuteftp上传文件失败,提示权限失败

    记事: 通过cuteftp在服务器的linux上搭建gcc交叉编译工具链时,发现上传文件失败并且提示权限不足,于是百度得知新建的文件夹权限可能不足,于是通过""chmod 权限 文 ...

  8. 打包本地文件, 并使用Winscp上传脚本

    2019独角兽企业重金招聘Python工程师标准>>> @echo off set path=%SystemRoot%\system32;%SystemRoot%;%ProgramF ...

  9. linux禁止客户端上传文件_Linux下Shell脚本实现FTP自动上传和下载文件

    概述 之前测试写的一个脚本,主要是为了实现FTP自动上传和下载文件.大家可以参考下: 基础环境配置 [root@pxzxdm01 ~]# useradd -d /home/ftp1 ftp1 [roo ...

最新文章

  1. 新课推介 | 《大数据技术的商业应用与实践》就要开课啦!
  2. MySQL遇到check the manual that corresponds to your MySQL server version for the right syntax错误
  3. Duplicate Strings 字符串 取模 牛客练习赛95
  4. 64位windows 7下成功配置TortoiseGit使用Github服务器
  5. python用二分法求平方根_Python使用二分法求平方根的简单示例
  6. 一文带你了解V4L2
  7. java ecc signature_如何用python验证android/java的ECC签名
  8. ajax请求携带tooken_当ajax碰到token的时候
  9. [Pa2013]Iloczyn
  10. Lambda表达式妙用
  11. Xamarin自学教程(Android)之一
  12. 西电软件工程概论复习纲要
  13. 完美.PCK文件不完全详解
  14. php工具箱升级MySQL
  15. Kick Start Round A 2022
  16. 又多了一重身份,继续前行
  17. 大神爆料:红米K30S至尊纪念版和红米10XPro哪个好-哪个更值得入手-参数对比
  18. 【Python】列表元素输入
  19. MySQL 进阶 索引 -- SQL性能分析(SQL执行频率:查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次、慢查询日志、 profile详情、explain)
  20. 2020DCIC智慧海洋建设算法赛学习01-赛题北京及地理数据分析常用工具

热门文章

  1. android 蓝牙串口数据格式,Android 蓝牙串口调试程序开发
  2. mysql设置定时备份
  3. ubuntu源换成清华源_Ubuntu18.04更换软件包源(清华源)
  4. 消费品行业会员营销的5大策略及建议
  5. ArcGIS使用字体文件制作符号库!
  6. JavaScript文本晃动js特效代码
  7. 安卓仓库管理系统源码
  8. 2023最新Web前端面试题精选大全及答案(一)
  9. 2022年浙江大华编程题
  10. 将yyyyMMdd格式化为yyyy-MM-dd日期格式及DateFormateUtils、DateUtils的使用