我需要掃描文件夾中的文件並將屬性設置爲Ant中的文件名,以便稍後使用它。 例如,Jenkins文件夾下有一個test123.tar。我需要使用test * .tar來匹配這個文件,然後將一個名爲「filename」的屬性設置爲test123.tar 是否可以這樣做? 非常感謝!如何獲取文件名並將其設置爲Ant中的屬性?
2
A
回答
0
文件集(搜索)和pathconvert的組合將有所幫助。
<project name="SuperRoot" default="demo" basedir=".">
<fileset id="afileset" dir="searchfolder" includes="**/test*.jar"/>
<target name="demo" >
<pathconvert property="result" refid="afileset" />
<echo message="found : ${result}"/>
<basename property="foo.filename" file="${result}"/>
<echo message="found : ${foo.filename}"/>
</target>
</project>
4
你可以使用pathconvert的文件集轉換成文件列表,然後loadresource用filterchain提取從列表中一個必需的值。
<project default="test">
<target name="test">
<!-- read your fileset into a property formatted as a list of lines -->
<pathconvert property="file.list" pathsep="${line.separator}">
<map from="${basedir}${file.separator}" to=""/>
<fileset dir="${basedir}">
<include name="test*.tar"/>
</fileset>
</pathconvert>
<!-- extract a single target file from the list -->
<loadresource property="file.name">
<string value="${file.list}"/>
<filterchain>
<!-- add your own logic to deal with multiple matches -->
<headfilter lines="1"/>
</filterchain>
</loadresource>
<!-- print the result -->
<echo message="file.name: ${file.name}"/>
</target>
</project>
輸出:
$ ls test*.tar
test012.tar test123.tar testabc.tar
$
$ ant
Buildfile: C:\tmp\ant\build.xml
test:
[echo] file.name: test012.tar
BUILD SUCCESSFUL
Total time: 0 seconds
詳細輸出:
$ ant -v
test:
[pathconvert] Set property file.list = test012.tar
[pathconvert] test123.tar
[pathconvert] testabc.tar
[loadresource] loading test012.tar
[loadresource] test123.tar
[loadresource] testabc.tar into property file.name
[loadresource] loaded 13 characters
[echo] file.name: test012.tar
BUILD SUCCESSFUL
Total time: 0 seconds
相關問題
- 1. Ant:獲取Java類名並寫入屬性文件
- 2. 如何爲屬性設置動畫並將其導出爲fbx文件?
- 3. 如何獲取屬性設置的屬性名稱?
- 4. 從jsp獲取日期戳並將其設置爲servlet中的屬性
- 5. Apache Ant的:從文件中讀取值,並將其分配給屬性的值
- 6. Ant獲取任務 - 將文件另存爲其名稱
- 7. 使用條件取消設置Ant中的屬性並刪除Ant中的屬性
- 8. Ant - 如何將$ {ant.project.name}設置爲項目文件夾名稱?
- 9. 如何通過maven屬性將屬性設置爲gwt.xml文件?
- 10. 如何在ant文件中獲取屬性數?
- 11. 如何將QString作爲文件位置並獲取其目錄
- 12. 獲取文件名並將其移動
- 13. 如何獲得屬性獲取或設置屬性屬性
- 14. 如何在文件屬性中設置和獲取值? c#
- 15. 如何從XML文件讀取信息並將其設置爲類中的屬性?
- 16. Ant屬性設置爲給定目錄內的文件
- 17. 如何根據ANT中的條件設置屬性值?
- 18. 如何使用.properties文件更改ant屬性位置屬性
- 19. 如何將資源文件名設置爲標籤的文本屬性?
- 20. 如何作爲ANT屬性返回文件名?
- 21. 從文件中提取值並將值設置爲屬性,在廚師中
- 22. iOS設置並獲取加載屬性
- 23. 如何獲取上傳文件的URL並將其用作屬性值?
- 24. Boost.Spirit.Qi:獲取規則的屬性並將其設置爲封閉規則的結構屬性的字段?
- 25. 如何將user.profile屬性設置爲Meteor中的變量名稱?
- 26. 如何從Ant中的目錄名稱獲取文件名?
- 27. CMD從文件中獲取字符串,並將其設置爲可變的CD
- 28. 如何重置ANT屬性?
- 29. 如何設置xml屬性並將更改保存到文件?
- 30. 如何將文本屬性設置保存爲文件?