【问题标题】:How to change an FTP upload VBScript to SFTP如何将 FTP 上传 VBScript 更改为 SFTP
【发布时间】:2018-01-11 10:05:37
【问题描述】:

我想将其更改为 SFTP 服务器。我应该如何更新以下脚本?

'FTP Upload
'Upload a file/folder to an FTP server 

Set oShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFSO
Varnow = now
vardate = Day(varnow) & "-" & Month(varnow) & "-" & Year(varnow) & ".csv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
strFile = "D:/file.csv"
strRename = "D:/file-" & vardate
If objFSO.FileExists(strFile) Then
    objFSO.MoveFile strFile, strRename
End If

'Path to file or folder to upload
path = strRename

FTPUpload(path)
Sub FTPUpload(path)

    On Error Resume Next

    'Copy Options: 16 = Yes to All
    Const copyType = 16

    'FTP Wait Time in ms
    waitTime = 8000

    FTPUser = "ftuser"
    FTPPass = "psw"
    FTPHost = "hostname"
    FTPDir = "/Dir"

    strFTP = "ftp://" & FTPUser & ":" & FTPPass & "@" & FTPHost & FTPDir
    Set objFTP = oShell.NameSpace(strFTP)

    'Upload single file      
    If objFSO.FileExists(path) Then
        Set objFile = objFSO.getFile(path)
        strParent = objFile.ParentFolder
        Set objFolder = oShell.NameSpace(strParent)

        Set objItem = objFolder.ParseName(objFile.Name)

        objFTP.CopyHere objItem,copyType
    End If

    If Err.Number <> 0 Then
        Wscript.Echo "Error: " & Err.Description
    End If

    'Wait for upload
    WScript.Sleep waitTime
    If objFSO.FileExists(strRename) Then
        objFSO.MoveFile strRename, strFile
    End If
End Sub

所以如您所见,我想将FTP上传切换为SFTP上传(因为目标服务器已更改为SFTP协议。在此函数Sub FTPUpload(path)中应该修改什么才能这样做? 你有什么建议吗?

【问题讨论】:

    标签: file-upload vbscript ftp sftp


    【解决方案1】:

    FileSystemObject 不支持 SFTP,Windows 也不支持任何其他方式。

    您必须使用第 3 方 SFTP 命令行客户端或 COM 对象。

    因此,没有简单的方法可以更改您现有的脚本。你必须基本上从头开始。


    关于使用 VBScript 进行 SFTP 上传的 Stack Overflow 存在很多问题。

    例如,您可以使用WinSCP SFTP client。它同时具有command-line scripting interfaceCOM object

    (我是 WinSCP 的作者)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2020-07-04
      相关资源
      最近更新 更多