我正在使用文件集选择文件集,然后使用它们生成所选文件集中所有文件的校验和
这是我的脚本
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="MyTask1" basedir="." default="jar">
<property name="cms.dir" value="D:\Test" />
<property name="comma" value="," />
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<target name="A">
<fileset id="src.files" dir="${cms.dir}" casesensitive="yes">
<include name="**/*.uim"/>
<include name="**/*.properties"/>
<include name="**/*.txt"/>
</fileset>
<pathconvert pathsep="${line.separator}" property="sounds" refid="src.files">
<!-- To get the names of the files only then use mapper-->
<!-- <mapper type="flatten" />-->
</pathconvert>
<delete file="sounds.txt"/>
<for list="${sounds}" delimiter="${line.separator}" param="mod">
<sequential>
<checksum file="@{mod}" property="MD5_Value"/>
<echo file="sounds.txt" append="true">@{mod}${comma}${MD5_Value}${line.separator}</echo>
</sequential>
</for>
<!--<checksum file="Test.txt" property="foobarMD5"/>-->
<!--<echo file="sounds.txt">${foobarMD5}</echo>-->
</target>
</project>
然而,它失败并且它在这里生成重复的MD5值是我的输出
d:\测试\个Test1.txt,6d326741a99efbcda928e5096b43cb9a d:\测试\的test2.txt,6d326741a99efbcda928e5096b43cb9a
任何帮助......
答案 0 :(得分:3)
checksum task可以处理文件集...
<checksum>
<fileset dir=".">
<include name="foo*"/>
</fileset>
</checksum>
比使用for任务更简单,这不是标准ANT的一部分。