好多年前写的一个小玩意,通过cuteftppro上传更新后的文件,

Function cuteftp_Upload(Dir,Filename,ToDir)
Dim MySite
Dim strFileList
Dim strFileName
Dim i, j
Dim objFSO, objFolder, objFile

Set MySite = CreateObject("CuteFTPPro.TEConnection")

MySite.Option("ThrowError") = false

MySite.Host = "FTP服务器IP"
MySite.Protocol = "SFTP" '链接模式
MySite.Port = ftp端口
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 1
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"
MySite.FileOverWriteMethod = "OVERWRITE"

MySite.Login = "账号名"
MySite.Password = "密码"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""

If CBool(MySite.Connect) Then
MySite.RemoteFilterInclude = ""
MySite.RemoteFilterExclude = ""
MySite.RemoteSiteFilter = ""

MySite.RemoteFolder = ToDir
MySite.LocalFolder = Dir
If CBool(MySite.RemoteExists(MySite.RemoteFolder)) Then
If CBool(MySite.LocalExists(MySite.LocalFolder)) Then
MySite.Upload Filename
cuteftp_Upload = "OK"
Set objFolder = nothing
Set objFSO = nothing
Else
cuteftp_Upload = "错误! 本地上载目录不存在"
MsgBox "错误! 本地上载目录不存在"
End If
Else
cuteftp_Upload = "错误! 远程上载目录不存在"
MsgBox "错误! 远程上载目录不存在"
End If
Else
cuteftp_Upload = "错误! " & MySite.ErrorDescription
MsgBox "错误! " & MySite.ErrorDescription
End If
MySite.Disconnect
End Function

主程序:

'运行程序初始配置
cuteftpfile = "cuteftp.vbs"
configfile = "配置文件.confing"
IfinD_src = "xxx.exe"
EMFunc_src = "yyy.xla"
log_file = "update.log"
'On Error Resume Next '忽略所有错误
'关闭EXCEL进程

Set fs_log = CreateObject("Scripting.FileSystemObject")
If fs_log.fileExists(log_file) = False Then
Set flog = fs_log.CreateTextFile(log_file, False)
Else
Set flog = fs_log.opentextfile(log_file, 8)
End If
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.fileExists(cuteftpfile) = False Then
msgbox "cuteftpfile文件不存在,请重新配置"
wscript.quit
End If
If fso1.fileExists(configfile) = False Then
msgbox "configfile文件不存在,请重新配置"
wscript.quit
End If
If fso1.fileExists(IfinD_src) = False Then
msgbox "xxx路径配置错误,请重新配置"
wscript.quit
End If
If fso1.fileExists(EMFunc_src) = False Then
msgbox "yyy.xla路径配置错误,请重新配置"
wscript.quit
End If

opentext = fso1.opentextfile("cuteftp.vbs", 1).readall
ExecuteGlobal opentext
Set fso1 = Nothing

msgbox "请确定excel都已关闭!,点击确定后将强制关闭所有EXCEL进程!"
strComputer ="."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process",,48)
For Each objItem in colProcess
If objItem.Name = "EXCEL" then
'msgbox "准备关闭"
CreateObject("WScript.Shell").Run "taskkill /f /im EXCEL.EXE", 0
end If
Next
Wscript.Sleep 3000

Dim WshShell
set WshShell = CreateObject("WScript.Shell")
Dim oExcel
Set oExcel= CreateObject("Excel.Application")
oExcel.DisplayAlerts = FALSE
oExcel.visible = TRUE
sPath = createobject("Scripting.FileSystemObject").GetFolder(".").Path
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(configfile,1, False)

DO While file.AtEndOfStream <> True
conf_line = cstr(file.ReadLine)
'msgbox str
If len(conf_line) > 3 Then
arr = Split(conf_line,",")
If arr(0) = "txt_file_up" Then
cuteftp_Upload sPath,arr(1),arr(2)
flog.WriteLine cstr(date) & " " & cstr(time) & "|" & cstr(arr(1)) & ",成功上传至" & arr(2)
Wscript.Sleep 30000
Else
file_path = arr(0)& "/" &arr(1)
rowcount_before = 0
rowcount_after = 0
If Right(file_path,4) = "xlsx" Then
'IfinD_check(IfinD_src)
oExcel.Workbooks.Open file_path,3,false
rowcount_before = oExcel.ActiveSheet.UsedRange.Rows.Count
'msgbox rowcount_before
Wscript.Sleep 3000
WshShell.run(EMFunc_src),1,false
Wscript.Sleep 10000
oExcel.ActiveWorkBook.Save
Wscript.Sleep 3000
rowcount_after = oExcel.ActiveSheet.UsedRange.Rows.Count
'msgbox rowcount_after
oExcel.WorkBooks.Close
Wscript.Sleep 3000
'msgbox rowcount_after-rowcount_before
addcount = rowcount_after - rowcount_before
'If addcount > 0 then
cuteftp_Upload arr(0),arr(1),arr(2)
flog.WriteLine cstr(date) & " " & cstr(time) & "|" & file_path & ",成功上传至" & arr(2) &",新增" & cstr(addcount) & "行数据," & "总行数为" & cstr(rowcount_before)
'Else
' flog.WriteLine cstr(date) & " " & cstr(time) & "|" & file_path & ",未更新,总行数为" & cstr(rowcount_before) & ",无新数据更新."
'End If
End If
End IF
End If
loop
flog.WriteLine cstr(date) & " " & cstr(time) & "|" & "完成" & configfile & "配置文件中对应Excel更新."
set flog = Nothing
Set fso = Nothing
oExcel.Quit
Wscript.Sleep 1000
msgbox "完成" & configfile & "配置文件中对应Excel更新."

Function IfinD_check(IfinD_src)
strComputer ="."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process",,48)

DIM isIfinD
isIfinD = 0
For Each objItem in colProcess
If objItem.Name = "xxx" then
isIfinD = 1
end If
Next

If isIfinD <>1 then
WshShell.run(xxx),1,false
Wscript.Sleep 5000
WshShell.SendKeys "{ENTER}"
Wscript.Sleep 5000
End If
End Function

转载于:https://www.cnblogs.com/ylpb/p/9198986.html

使用cuteftp实现SFTP上传相关推荐

  1. Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器

    Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...

  2. java通过sftp上传文件

    转载:http://blog.csdn.net/yhl_jxy/article/details/72633034 Linux操作系统我们经常使用ssh中的ftp,sftp连接服务器,做相应操作. 如何 ...

  3. C# SFTP上传文件

    最近工作中用到一个SFTP上传文件的功能,因为客户端是C#做的就搜索了一些C#SFTP资料,发现网上除了一篇博客外还没有一篇系列完整的整理文档,就整理了下,希望大家多提建议,共同提高. sftp是Se ...

  4. SFTP上传下载文件

    secureCRT SFTP上传/下载文件 远程登陆IP secureCRT会话中点击SFTP 3.cd  /home/dowload       linux平台切换到/home/dowload目录 ...

  5. 如何在Linux中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

  6. 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误

    背景:在Linux服务器上,通过sftp上传文件到远程服务器. 首先,需要登录远程服务器,格式是: sftp [服务器名]@[服务器地址] 然后,需要输入服务器密码: [服务器名]@[服务器地址]'s ...

  7. SFTP上传本地文件报错找不到文件或路径

    SFTP上传本地文件报错 stat /文件名:No such file or directory的可能原因之一 遇见的问题 解决的方法;另找一个全英文的路径

  8. java ssh 服务器文件传输_java使用SFTP上传文件到资源服务器

    本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...

  9. SecureCRT sftp上传文件报错:put: failed to upload xxx 拒绝访问

    1.问题 使用sftp上传文件时报错:put: failed to upload xxx 拒绝访问.类似下图所示: 2.原因 造成这个问题的原因可能有两个,一是要上到的那个目录剩余磁盘空间不足,二是打 ...

  10. sftp上传文件和下载文件

    sftp上传文件和下载文件 在SecrueCRT中使用stfp命令 sftp中的常用命令 pwd lpwd ls lls put-上传文件到服务器 get-下载文件到本地 在SecrueCRT中使用s ...

最新文章

  1. 行为型模式之十一:备忘录模式
  2. 如何为网页添加小宠物挂件:小老鼠、金鱼等
  3. 【STM32】DMA相关函数和类型
  4. UBuntu安裝使用PIP
  5. 三层架构与MVC的区别
  6. vue中的watch监听数据变化
  7. php get安全过滤,php 有效安全过滤get,posd,cookie_PHP教程
  8. 树莓派和机器人有啥关系(也有jetson tx2的知识主要)
  9. 集丰照明|LED 的产业链由哪些部分构成?
  10. java stream流处理
  11. 明翰英语教学系列之形容词与副词篇V0.1(持续更新)
  12. 百度人脸产品套件————壁虎 1.开箱体验
  13. 【蓝桥杯真题】16天冲刺 Python
  14. Excel一键将批注内容显示,替换单元格内容
  15. linux 共享内存 shmget
  16. ad模数转换采集电压程序c语言,使用单片机自带AD转换采样电位器,进行PWM调光...
  17. Ubuntu 更换国内源
  18. linux右上角不显示网络连接_Linux系列 之 进程监控
  19. 合合信息科技-校园招聘笔试题
  20. 呵呵,今天上了 “日本料理”课,おいしいですね。

热门文章

  1. 一键解决WinRAR的有关问题
  2. 在CMD里进行复制粘贴的方法
  3. 69、【backtrader期货策略】十大经典策略之Dual Thrust策略(2021-10-28更新)
  4. 常用运算电压比较器目录
  5. BP神经网络(算法整体思路及原理+手写公式推导)
  6. 修复谷歌浏览器翻译插件无法使用的问题
  7. 计量经济学——试题总结
  8. 手工修复Win 7下彩影ARP防火墙驱动程序(适用于32/64位系统)
  9. 答题卡 移动端在线考试html模板,标准化考试答题卡模板.doc
  10. 倍福PLC_添加CX2500-0060以太网模块后无法从TwinCAT软件扫描到问题