【问题标题】:Synchronize file mask in WinSCP - merge file filter with subdirectories exclusion在 WinSCP 中同步文件掩码 - 将文件过滤器与子目录排除合并
【发布时间】:2019-05-22 08:02:42
【问题描述】:

我正在编写一个脚本来同步两个文件夹。我从本地文件夹中挑选图像并在 FTP 上同步它们。

我必须应用三个过滤器:

  1. 仅图像文件(IT WORKS:*.jpg; *.png...

  2. 仅限较新的文件(IT WORKS:*.png>=%2019-04-10#yyyy-mm-dd%

  3. 我不想复制文件夹(不工作)

我使用的代码有效,但它也复制了子文件夹。在互联网上,他们说我必须使用 "|*/" 来跳过子文件夹。但是如果我在我的文件掩码中使用它,它会复制所有内容,而忽略我的其他过滤器。

这是我使用的代码:

这里我使用密码连接到 SFTP 服务器

open sftp://USERNAME:PASSWORD@myFTP.com -hostkey="ssh-rsa 4096 JvxxxxxxxxxxxxxxxxxxVx8/5VSw="
option batch
option transfer binary

我在这里同步:

synchronize remote -filemask="*.png>=%2019-04-10#yyyy-mm-dd%; *.jpeg>=%2019-04-10#yyyy-mm-dd%; *.jpg>=%2019-04-10#yyyy-mm-dd%;" H:\MyImageFolder /test/DestinationFolder/ -nopreservetime 

我试过了:

synchronize remote -filemask="*.png>=%2019-04-10#yyyy-mm-dd%; *.jpeg>=%2019-04-10#yyyy-mm-dd%; *.jpg>=%2019-04-10#yyyy-mm-dd%; "|*/" " H:\MyImageFolder /test/DestinationFolder/ -nopreservetime 

但它不起作用,或者它告诉我文件掩码的参数数量错误。

如何使用我的图像过滤器(基于扩展名和日期)并从同步中排除子文件夹?

我发现了其他溢出问题,但没有一个符合我的具体问题。

【问题讨论】:

    标签: windows date ftp winscp


    【解决方案1】:
    1. %2019-04-10#yyyy-mm-dd% 错了,应该是2019-04-10
    2. 您的文件掩码周围已经有双引号,因此请从"|*/" 中删除它们。

    请参阅WinSCP file masks 的文档。


    这应该做,你想要什么:

    -filemask="*.png>=2019-04-10; *.jpeg>=2019-04-10; *.jpg>=2019-04-10 | */"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      相关资源
      最近更新 更多