ファイルを転送するには FTP を SFTP に置き換えます - PSFTP.EXE のみ

ファイルを転送するには FTP を SFTP に置き換えます - PSFTP.EXE のみ

現在、FTP'ingサーバーから UNIX ボックスにファイルを転送していますwindows。スクリプトの次のセクションを変更し、FTP プロセスを に移行したいと考えていますsftp

@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END

Windows ディレクトリにインストールしましたPSFTP.EXE。これを使用して、SFTP でファイルを送信できますか?

行をftp -n -s:ftpcmd.dat %host%SFTP に置き換えるにはどうすればよいですか。次のようにできると理解しています...

CALL PSFTP.EXE [email protected] ....

どなたか詳しい方がいらっしゃいましたら、完成まで手伝っていただけますか。どのような引数を指定すればよいでしょうか。ユーザー、パスワード、remotedir、ホストの詳細は、プロパティ ファイルに保存されます。パスワードの代わりにキーを使用したいと考えています。既存の ftpcmd.dat 引数を psftp に渡すことはできますか?

答え1

WinSCP を使用することもできます。SFTP とスクリプトの両方をサポートしています。

を参照してくださいWindows FTP スクリプトを WinSCP SFTP スクリプトに変換するためのガイド

スクリプトは次のようになります。

open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit

次のようにスクリプトを実行できます ( に保存されている場合script.txt):

winscp.com /script=script.txt

( とは逆にftp.exe) 環境変数は WinSCP スクリプトでも解決されることに注意してください。

秘密鍵ファイルを使用する場合は、以下を使用します。

open sftp://%user%@%host% -privatekey=path\key.ppk

(私はWinSCPの作者です)

関連情報