首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Vbscript登录到ftp

Vbscript登录到ftp
EN

Stack Overflow用户
提问于 2013-07-21 05:46:16
回答 1查看 2.9K关注 0票数 0

我正在尝试登录ftp主机并下载文件。我不确定如何找到该文件,因为它存储在date下的目录中,并且每天都会更改。这是我到目前为止所拥有的

代码语言:javascript
复制
Option Explicit
Dim objFSO, objMyFile, objShell, strFTPScriptFileName, strFilePut
Dim strLocalFolderName, strFTPServerName, strLoginID
Dim strPassword, strFTPServerFolder


strLocalFolderName = "c:\foldername"
strFTPServerName = "ftp.host.com"
strLoginID = "somelogin"
strPassword = "password8"

那么,在密码之后,我如何登录到日期文件并进行定位,例如,该文件将位于

20130722/filename.ftp

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-21 17:07:06

在VBScript中,通常的方法是生成一个FTP脚本并使用ftp.exe运行该脚本

代码语言:javascript
复制
'variable definitions
...

Function qq(str)
  qq = Chr(34) & str & Chr(34)
End Function

Set fso = CreateObject("Scripting.FileSystemObject")
Set sh  = CreateObject("WScript.Shell")

remoteDir = Year(Date) & Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)
tempDir   = sh.ExpandEnvironmentStrings("%TEMP%")
script    = fso.BuildPath(tempDir, "download.ftp")
logfile   = fso.BuildPath(tempDir, "ftp.log")

Set f = fso.OpenTextFile(script, 2, True)
f.WriteLine "open" & strFTPServerName & vbNewLine _
  & "user" & strLoginID & vbNewLine _
  & strPassword & vbNewLine _
  & "prompt no" & vbNewLine _
  & "lcd " & strLocalFolderName & vbNewLine _
  & "cd " & remoteDir & vbNewLine _
  & "get cs.ftp" & vbNewLine _
  & "bye"
f.Close

rc=sh.Run("%COMSPEC% /c ftp -s:" & qq(script) & " >" & qq(logfile), 0, True)

WScript.Echo "FTP finished with exit code " & rc & "."

fso.DeleteFile script, True

上面的内容应该可以开箱即用。如果您可以自由安装其他软件,ActiveXperts' Network Component附带的FTP客户端可能是另一个选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17767021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档