我正在尝试使用ant
中的scp
任务将远程服务中的文件复制到本地。问题是,我想排除某些扩展名为*.txt
的文件,所以我尝试使用excludes
标记。但它似乎不起作用。并复制所有文件,包括扩展名为*.txt
的文件
<scp file="username:pwd@remotemachine:/path/to/files/*" todir="copycontent" trust="true">
<fileset dir="files" >
<exclude name="**/*.txt"/>
</fileset>
</scp>
Ant SCP任务对您的场景有一些限制:
- "FileSet仅适用于将文件从本地计算机复制到远程计算机。"(来自Ant SCP手册页)
- SCP元素本身不提供包含/排除模式的属性
因此,从远程到本地选择性复制的选项是有限的。更灵活地从本地复制到远程(使用文件集)。
不排除*.txt
,而是可以包含一个或多个文件模式一个或更多scp块。
或者,如果本地系统是基于unix的,那么另一种选择可以是执行rsync,正如在回答类似问题时所建议的那样。