5

我使用批处理文件进入 WinSCP。读取包含以下.bat内容的脚本文件:

cd /download/.stuff
get file.txt D:\Name\Sub Name\Even Lower 

更改目录正常,找到文件正常,但是将其放在本地计算机上的子文件夹目录中时出现此错误

无法获取文件“D:\Name\Sub Name\Even”的属性。
没有这样的文件或目录

我认为语法是正确的。

为什么它没有放入该子文件夹的任何原因?

谢谢

4

1 回答 1

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.txtD:\Name\Sub并下载Name\EvenLower本地当前工作目录中的本地文件(相互覆盖)。所以它找不到远程文件D:\Name\Sub

于 2013-05-07T14:46:39.670 回答