2013-11-26 4 views
1

HI Я использую муравей скрипт для calcalte md5 двух файлов в конкретной folder.This на это сценарий, который я написалмуравей скрипт бросает исключение при расчете md5

<?xml version="1.0"?> 
<project name="Hello World Project" basedir="." default="info"> 
    <property name="cms.dir" value="D:\CMS\webclient\components\CMS\Address\AddressSearch" /> 
    <taskdef resource="net/sf/antcontrib/antlib.xml"/> 
    <target name="info"> 
     <echo>Hello World - Welcome to Apache Ant!</echo> 
     <fileset id="src.files" dir="${cms.dir}" casesensitive="yes"> 
      <include name="**/*.uim"/> 
      <include name="**/*.properties"/> 
     </fileset> 
     <pathconvert pathsep="${line.separator}" property="sounds" refid="src.files"> 
     </pathconvert> 
     <echo file="sounds.txt">${sounds}</echo> 
     <loadfile property="files" srcFile="./sounds.txt"/> 
     <for list="${files}" delimiter="," param="file1"> 
      <sequential> 
       <echo>@{file1}</echo> 
       <checksum file="@{file1}" todir="./checksum" /> 
      </sequential> 
     </for> 
    </target> 
</project> 

Имя файла становится печататься правильно, но когда я использую один и тот же файл, чтобы вычислить md5 он бросает исключение, как этот

BUILD FAILED 
    C:\build.xml:15: The following error occurred while executing this line: 
    C:\build.xml:18: Could not find file D:\CMS\webclient\components\CMS\Address\Add 
    ressSearch\CMS_addressSearchPopUp.properties 
    D:\CMS\webclient\components\CMS\Address\AddressSearch\CMS_addressSearchPopUp.uim 
    to generate checksum for. 

любую помощь по этому

+0

Какой файл вы пытаетесь md5sum? Это сообщение об ошибке делает его похожим не смог найти файл под названием «D: \ CMS \ webclient \ components \ CMS \ Address \ AddressSearch \ CMS_addressSearchPopUp.properties' +' \ n' + 'D: \ CMS \ webclient \ components \ CMS \ Address \ AddressSearch \ CMS_addressSearchPopUp.uim' " – admdrew

+0

Я помещаю контрольную сумму в цикл for, поэтому мне нужно вычислить md5 для обоих файлов. –

+0

Исходя из этой ошибки, это не похоже на то, что ваша строка разделяется по мере того, как вы int окончание. Является ли 'sounds.txt' фактически разделенным запятой или у этого файла есть одно имя файла в строке (т. Е. С разделителем строки)? – admdrew

ответ

0

Вы используете новую строку, когда CRE «звуки», но использует запятую для разделения.

<pathconvert pathsep="${line.separator}" property="sounds" refid="src.files"> 

Тогда это записывается в файл - sounds.txt

Затем читает файл, чтобы разделить с помощью запятой. («»

<for list="${files}" delimiter="," param="file1"> 

Если я понял вопрос правильно, вы должны разделить с помощью новой линии

<for list="${files}" delimiter="${line.separator}" param="file1"> 
Смежные вопросы