WinSCP スクリプトがリモートの場所へのファイルの転送に失敗する

WinSCP スクリプトがリモートの場所へのファイルの転送に失敗する

WinSCP クライアントを使用して小さなスクリプトを実行しようとすると、ファイルをリモート サーバーに転送中に以下のエラーが発生し、中止されます。

エラーメッセージ

C:\WinSCP-5.9.6-Portable>WinSCP.com /script=ftptest.txt
Connecting to 192.169.2.33 ...
Connected
Starting the session...
Session started.
Active session: [1] [email protected]
transfer        ascii
\...\audit.log.2018-04-10 |            0 B |    0.0 KB/s | binary |   0%
Error transferring file '\\MainShare\FDS\WS02\Logs\WhvEsbWrk2.MainShare.co.uk\audit.log.2018-04-10'.
Copying files to remote side failed.
Could not create file.
(A)bort, (R)etry, (S)kip, Ski(p) all: Abort

私が試したスクリプト

open ftp://ftpuser:[email protected]/ -hostkey="ssh-rsa 2048 ************************ ftpuser@Filezilla"
ascii
put -transfer=ascii \\MainShare\DFS\WS02\Logs\WhvEsbWrk2.MainShare.co.uk\audit.log.2018-04-10 /home/ftpuser/DK
exit

答え1

がディレクトリであると仮定すると/home/ftpuser/DK、末尾のスラッシュが欠落しています。次のように使用する必要があります。

put -transfer=ascii \\...\audit.log.2018-04-10 /home/ftpuser/DK/

だけを使用すると/home/ftpuser/DK、ファイルをディレクトリにアップロードし/home/ftpuser、ファイルに保存することを意味しますDK。これは明らかに、同じ名前の既存のサブディレクトリと競合します。

の文書を引用すると、put指示:

最後のパラメータは、ターゲットのリモート ディレクトリを指定し、オプションでファイルを別の名前で保存するための操作マスクを指定します。ターゲット ディレクトリはスラッシュで終わる必要があります。

関連情報