我的目标是下载,而不是从 SFTP 服务器上传文件,并且我正在尝试修改此站点上另一个问题的代码来做到这一点(为方便起见,我粘贴了下面的代码)。
我从 Putty 下载了 PSFTP。当我尝试使用以下命令行连接时,PSFTP 关闭:
open username:password@server.com.port:1111
我有三个问题:
我的命令行有问题吗?如果不是那么可能是什么问题?
据我所知,SFTP 通常会使用 get/put 命令,但我在下面的代码中没有看到 put 命令,所以我不明白应该在哪里输入 get 命令来下载文件而不是上传文件(这就是下面的代码应该做的)。
pRemotePath 是 SFTP 服务器上文件的位置是否正确,而 pFile 是我希望将文件下载到的位置?
一个简单的解释将不胜感激。
Public Sub SftpGet()
Const cstrSftp As String = """C:\Users\Ron\UtilityTools\psftp.exe"""
Dim strCommand As String
Dim pUser As String
Dim pPass As String
Dim pHost As String
Dim pFile As String
Dim pRemotePath As String
pUser = "uid"
pPass = "PW"
pHost = "dns"
pFile = "C:\Users\Ron\activity.txt"
pRemotePath = "Z:/activity.log"
strCommand = cstrSftp & " -sftp -l " & pUser & " -pw " & pPass & _
" " & pFile & " " & pHost & ":" & pRemotePath
Debug.Print strCommand
Shell strCommand, 1 ' vbNormalFocus '
End Sub