【发布时间】:2016-09-26 16:11:54
【问题描述】:
我有一个 vbscript 文件,如下所示:
Set oShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSB = CreateObject("System.Text.StringBuilder")
yesterday = DateAdd("d", -1, Date)
folderName = sprintf("{0:yyyyMMdd}", Array(yesterday)) & ".opentrades"
fullPath = "C:\test\" & folderName
Call FTPUpload(fullPath, folderName)
Sub FTPUpload(fullPath, folderName)
Const copyType = 16
waitTime = 80000
FTPUser = "Username"
FTPPass = "Password"
FTPHost = "HostName"
FTPDir = "/1/"
strFTP = "ftp://" & FTPUser & ":" & FTPPass & "@" & FTPHost & FTPDir
Set objFTP = oShell.NameSpace(strFTP)
'Upload all files in folder
If objFSO.FolderExists(fullPath) Then
Set objFolder = oShell.NameSpace(fullPath)
Wscript.Echo "Uploading folder " & fullPath & " 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
Function sprintf(sFmt, aData)
objSB.AppendFormat_4 sFmt, (aData)
sprintf = objSB.ToString()
objSB.Length = 0
End Function
脚本将指定目录(fullPath 变量)中的所有文件复制到目标目录(FTPDir 变量)。但我想创建一个新文件夹,其名称存储在 FTP 服务器的 folderName 变量中,并将文件复制到新创建的文件夹中。我是 vbscript 的新手,愿意接受任何建议。
提前致谢,
【问题讨论】:
标签: vba vbscript ftp scheduled-tasks