在包含空格的批处理文件中使用 WinSCP 时,如何从 FTP 下载中排除子文件夹?

How to exclude a subfolder from an FTP download when using WinSCP in a batch file that has spaces?

我正在通过 WinSCP 脚本使用 get 函数从 FTP 服务器下载新文件,但需要排除包含空格的文件夹。这就是我所拥有的,但它抛出了一个错误:

get -filemask=|/Images/DO NOT USE/ -neweronly -resumesupport=on -resume "/FTP_FILES" "D:\FTP_Downloads"

错误:

Can't get attributes of file "NOT'.
Could not retrieve file information 
/NOT can't be listed

我的猜测是 DO NOT USE 文件夹中有空格。不幸的是,我无权重命名此文件夹,只是想在下载时忽略它。我尝试添加引号,但没有做任何事情,文件夹仍在下载。

如何正确执行此操作?

  1. 将文件掩码包装到 double quotes,就像您已经包装源路径和目标路径一样。
  2. path mask必须匹配完整路径。您可以通过在路径前加上 * 前缀或使用绝对路径来解决该问题。
-filemask="|*/Images/DO NOT USE/"