我使用批处理文件进入WinSCP。 .bat
读取包含以下内容的脚本文件:
cd /download/.stuff
get file.txt D:\Name\Sub Name\Even Lower
更改目录,查找文件正常,但是当它放在我本地计算机上的子文件夹目录中时,我收到此错误
无法获取文件'D:\ Name \ Sub Name \ Even'的属性。
没有这样的文件或目录
我认为语法是正确的。
为什么它没有放入该子文件夹?
由于
答案 0 :(得分: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\"
一些参考文献:
https://winscp.net/eng/docs/scripting#syntax
https://winscp.net/eng/docs/scriptcommand_get
您收到的错误消息没有多大意义。在尝试相同的时候,我得到了:
无法获取文件'D:\ Name \ Sub'的属性 没有这样的文件或目录。
这有意义,因为您的命令意味着:将三个远程文件file.txt
,D:\Name\Sub
和Name\Even
下载到本地当前工作目录中的本地文件Lower
(相互覆盖)。因此无法找到远程文件D:\Name\Sub
。