나는 당신이 수행해야하는 단계로 그것을 깰 생각 :
- 목록 관련 파일을 FTP로
- 추출 파일 이름 목록
- 정렬에서 파일 이름
- 정렬 된 목록의 첫 번째 또는 마지막 파일 이름 가져 오기
- FTP로 파일 가져 오기
파일의 이름은 yyyyMMdd.<version>
이므로 파일을 이름순으로 정렬하여 날짜순으로 정렬하면됩니다.
1 단계 :
<loadresource property="newest.file">
<concat>
<fileset file="list.txt"/>
</concat>
<filterchain>
<tokenfilter>
<replaceregex pattern=".*(Evolvenet_.*)" replace="\1"/>
</tokenfilter>
<sortfilter reverse="true"/>
<headfilter lines="1"/>
</filterchain>
</loadresource>
<echo message="newest.file ${newest.file}"/>
5 단계 목록에서 최신 파일의 압축을 풉니 다 : 해당 파일을 가져 2-4이
<ftp action="list"
server="${server}" userid="${user}"
password="${password}" listing="list.txt">
<fileset>
<include name="Evolvenet_*"/>
</fileset>
</ftp>
단계와 같은 파일 무언가를 나열 FTP 사용
<ftp action="get"
server="${server}" userid="${user}"
password="${password}">
<fileset dir="download">
<include name="${newest.file}"/>
</fileset>
</ftp>
Evolvenet_ *이 파일 인 것처럼 대답했지만 파일이 디렉토리라고 판단됩니다.
<include name="${newest.file}/**"/>
은의 dir
속성을 사용하여, (오히려 사용자의 로그인 디렉토리가 아닌) 특정 디렉토리의 내용을 나열하려면 : 나는 디렉토리를 다운로드 변경해야하는 모든이 얻을 FTP에 포함 절 생각 원격 디렉토리를 지정하는 파일 세트, 예.
<fileset dir="/build/Evolvenet 2010">
<include name="*"/>
</fileset>
명시 적 폴더를 나열하는 방법에 대해서는 답변을 업데이트했습니다. – sudocode