vbs ftp上传单个文件

时间:2018-07-05 13:07:45

标签: vbscript ftp

Ji

当我使用此脚本时,它说正在上传消息,但随后又说需要错误对象,我的登录名是100%使用winscp正常工作,而且当我在cmd中使用ftp来连接它时,

有什么想法吗?

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


  Set oShell = CreateObject("Shell.Application")
 Set objFSO = CreateObject("Scripting.FileSystemObject")

'Path to file or folder to upload
 path = "C:\AutomaticScripts\Live\spapu.html"

   FTPUpload(path)


 Sub FTPUpload(path)

 On Error Resume Next

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

    'FTP Wait Time in ms
  waitTime = 80000

FTPUser = "XXXXXXX"
  FTPPass = "XXXXXX"
  FTPHost = "XXXXX"
 FTPDir = "/public_html/spapu/"

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

 'Make new folder on FTP site
 'objFTP.NewFolder "FTP Backup"


   '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)

  Wscript.Echo "Uploading file " & objItem.Name & " to " & strFTP
  objFTP.CopyHere objItem, copyType


End If


  'Upload all files in folder
  If objFSO.FolderExists(path) Then

'下面的代码可用于上传整个文件夹     设置objFolder = oShell.NameSpace(path)

Wscript.Echo "Uploading folder " & path & " to " & strFTP
objFTP.CopyHere objFolder.Items, copyType

End If


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

'Wait for upload
WScript.Sleep waitTime

End Sub

0 个答案:

没有答案