私の目的は、SFTP サーバーからファイルをアップロードするのではなく、ダウンロードすることです。このサイトの別の質問からコードを適応させようとしています (便宜上、以下のコードを貼り付けました)。
Putty から PSFTP をダウンロードしました。次のコマンド ラインを使用して接続しようとすると、PSFTP が閉じます。
open username:password@server.com.port:1111
3 つの質問があります。
コマンドラインに何か問題がありますか? そうでない場合、何が問題になる可能性がありますか?
私が知る限り、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