使用WinSCP将文件下载到本地子文件夹时出错

Rho*_*odo 5 batch-file download winscp

我使用批处理文件进入WinSCP.在.bat读取包含此脚本文件:

cd /download/.stuff
get file.txt D:\Name\Sub Name\Even Lower 
Run Code Online (Sandbox Code Playgroud)

更改目录正常,找到文件正常,但当涉及将它放在我的本地计算机上的子文件夹目录中时,我收到此错误

无法获取文件'D:\ Name\Sub Name\Even'的属性.
没有相应的文件和目录

我认为语法是正确的.

有什么理由不放入该子文件夹?

谢谢

Mar*_*ryl 7

正如@Rub所说,这是空间.您需要将带有空格的路径括在双引号中.此外,您需要使用反斜杠终止路径.否则,它将把文件下载到Even Lower本地目录中的文件D:\Name\Sub Name.但我认为你希望它下载到D:\Name\Sub Name\Even Lower,保留名称file.txt.

这是正确的语法:

get file.txt "D:\Name\Sub Name\Even Lower\"
Run Code Online (Sandbox Code Playgroud)

一些参考:
https://winscp.net/eng/docs/scripting#syntax
https://winscp.net/eng/docs/scriptcommand_get

您获得的错误消息没有多大意义.在尝试相同的时候,我得到:

无法获取文件'D:\ Name\Sub'的属性
没有这样的文件或目录.

这是有道理的,因为您的命令意味着:下载三个远程文件file.txt,D:\Name\Sub并下载Name\EvenLower本地当前工作目录中的本地文件(相互覆盖).因此无法找到远程文件D:\Name\Sub.