上传后关闭文件时WinSCP代码4错误

时间:2014-08-21 14:20:28

标签: file-upload scripting command winscp

你好编码器和代码(?)我的WINSCP命令有问题......希望你能帮忙。

我有一个调用WinSCP命令行的powershell脚本......

$LastFile = "$A\BC0722.txt"

& 'C:\Program Files (x86)\WinSCP\WinSCP.com' /command "option batch abort" "option confirm off" "open sftp:BankOfTulsa/" "put $LastFile /incoming/temp"

这部分工作正常。它调用WinSCP没问题......

Using username "usern".
Authenticating with pre-entered password.
Authenticated.
Starting the session...
Reading remote directory...
Session started.
Active session: [1] BankOfTulsa
G:\FTP\A\ADropoff\BC0722.TXT |          2 KiB |    0.0 KiB/s | binary | 100%
Cannot close remote file 'temp'.
General failure (server should provide error description).
Error code: 4
Error message from server: Mailbox /clients/usern/pub/incoming/temp exists.
(A)bort, (R)etry, (S)kip, Ski(p) all: Abort

正如你所看到的,我得到了一个错误,如上所述......它没有加载文件,但直到无法关闭远程文件临时文件,它看起来不错......要点注意......

Cannot close remote file 'temp'.
    General failure (server should provide error description).
    Error code: 4
    Error message from server: Mailbox /clients/usern/pub/incoming/temp exists.

我对WinSCP错误并不太熟悉,我做了一些研究,但没有真正响铃,任何人都知道这里发生了什么?

1 个答案:

答案 0 :(得分:1)

假设/incoming/temp是一个目录,则缺少一个尾部斜杠。你应该使用:

put $LastFile /incoming/temp/

当您仅使用/incoming/temp时,表示您要将文件上传到目录/incoming并将其保存到文件temp。显然与现有的同名子目录冲突。

引用put command的文档:

  

最后一个参数指定目标远程目录和可选的操作掩码,以便以不同的名称存储文件。 目标目录必须以斜杠结尾。

通常,在打开/创建文件temp时,上传应该是正确的。但是,关闭文件时,您的服务器似乎只能检测到冲突。