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

Posted

技术标签:

【中文标题】在包含空格的批处理文件中使用 WinSCP 时,如何从 FTP 下载中排除子文件夹?【英文标题】:How to exclude a subfolder from an FTP download when using WinSCP in a batch file that has spaces? 【发布时间】:2021-11-02 17:25:52 【问题描述】:

我通过 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,就像您已经封装源路径和目标路径一样。 path mask 必须匹配完整的路径。您可以通过在路径前加上 * 或使用绝对路径来解决这个问题。
-filemask="|*/Images/DO NOT USE/"

【讨论】:

以上是关于在包含空格的批处理文件中使用 WinSCP 时,如何从 FTP 下载中排除子文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中使用 WinSCP 传输仅包含数字而不包含字母的文件?

使用 WinSCP 和批处理监视 SFTP 服务器上的更改

WinSCP 命令中的批处理文件 IF 语句语法

VB调用SHELL,参数路径有空格如何处理?

批处理脚本从用户获取文件列表输入以馈送到 WinSCP

VB调用SHELL,参数路径有空格如何处理?