私の目的は、SFTPサーバーからファイルをダウンロードするのではなく、このサイトの別の質問からコードを適合させようとしていることです。 )。VBAでSFTPを使用してファイルをダウンロードする
私はパテからPSFTPをダウンロードしました。私は3つの質問を持っている
open username:[email protected]:1111
:私は、次のコマンドラインを使用して接続しようとすると、PSFTPが閉じ
は私のコマンドラインに何か問題ありますか?そうでなければ何が問題になるのでしょうか?
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
あなたがトロイの木馬を作っているように聞こえます...ジョーク。 – Raptor
私はsftpを使ったことがないので、私が今提案していることはうまくいかないかもしれません。 '-l'は何をするのですか? sftpを調べているうちに、ユーザーがファイルをダウンロードするために '-l'の代わりに' -B'を使用したサイトを見つけました。それが役立つかどうかを見てください。 –
@SiddharthRout '-l'オプションは、サーバ上のユーザアカウントを指定するために使用されます。私はそれが 'ssh'クライアントコマンドからコマンドオプションを模倣することを意図していると思う。 – HansUp