我想解压缩文件,但如果存在某个文件,则不能替换它。
我试过了:
<unzip src="compress.zip" dest="dirTo" overwrite="false">
<patternset>
<include name="dirFrom/**"/>
</patternset>
“dirFrom”,是压缩文件目录中的名称,我要提取的内容。我使用“覆盖”为假,但它不起作用,它会过度编写。
我有一个目录,这有不同的子目录。我想要其中一个子目录,包括它的文件和子子目录。
答案 0 :(得分:1)
我找到了怎么做。
1,我将一切提取到辅助目录。 2,我创建一个循环,按文件比较文件,如果该文件存在。 3,如果文件不存在,我将其复制。
def index
@profiles = Profile.where(nil)
@profiles = @profiles.fees_to(params[:fees_to]) if params[:fees_to].present?
end
答案 1 :(得分:0)
将overwrite
设置为false只会阻止覆盖目标文件(如果它比源文件新)。对于更复杂的过滤,您必须使用copy
任务和zipfilset
,因为它在ant文档中有说明(请参阅unzip任务 - 在Related tasks
部分中)。例如,以下代码不应从zip文件中提取文件(如果它们已存在于目标目录中)(尊重源目录布局):
<copy todir="${target.dir}">
<zipfileset src="${zip.file}">
<patternset>
<include name="**/*.*"/>
</patternset>
<present targetdir="${target.dir}" present="srconly"/>
</zipfileset>
</copy>