我有一個文件集,其中包含擴展名爲10的文件。然後我需要把這個文件名和擴展名分成2個獨立的屬性/變量,但不知道如何。我需要做這個文件的原因是在Unix上作爲XB12345.FILE開始,我需要移動到文件名爲XB12345.FILE和成員爲FILE.MBR的I/5系統。大多數文件沒有一致的擴展名,只會在運行時才知道。任何幫助,將不勝感激。Ant腳本將文件名和擴展名拆分爲2個單獨的屬性
0
A
回答
4
這聽起來像是Ant-Contrib任務的工作。
Ant-Contrib任務已經存在了很長時間,在Ant項目中很常見。 PropertyRegex任務將完成你想要的任務。事實上,甚至有一個可以處理循環的For任務。
的<PropertyRegEx>
任務將是這個樣子:
- 下載ant-contrib-1.0b3.jar:
<propertyregex property="base.name" input="file.name" regexp="(.*)\.(.*)" select="\1"/> <propertyregex property="suffix.name" input="file.name" regexp="(.*)\.(.*)" select="\2"/>
安裝螞蟻的Contrib任務,如果您按照這些步驟是相當容易的。
- 在項目的根目錄創建一個名爲
antlib/ac
的目錄。 - 把
ant-contrib-1.0b3.jar file in the
antlib/ac`目錄。 - 添加任務定義。
像這樣:
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<fileset dir="${basedir}/antlib/ac"/>
<classpath>
</taskdef>
如果你使用版本控制系統,檢查螞蟻的contrib-1.0b3.jar文件到該項目中的版本控制系統。現在,當有人需要做一個構建時,他們簽出你的項目,並且Ant Contrib任務已經被定義,並且Ant-Contrib jar在那裏。開發人員不需要安裝Ant-Contrib。你的構建正常。
0
儘管propertyregex是預期問題的解決方案,但您必須使用override屬性來解決您的問題。
<propertyregex property="base.name"
input="file.name"
regexp="(.*)\.(.*)"
select="\1" override="true"/>
<propertyregex property="suffix.name"
input="file.name"
regexp="(.*)\.(.*)"
select="\2" override="true"/>
相關問題
- 1. 如何拆分文件名和擴展
- 2. 如何將文件名拆分爲基礎和擴展
- 3. ASP文件擴展名拆分
- 4. 如何將域名拆分爲sld和tld(擴展名)?
- 5. 將文件路徑拆分爲R中的文件路徑和擴展名
- 6. groovy腳本迭代通過一個文件夾,並寫入所有擴展名爲擴展名的文件名,但擴展名爲.txt的文件
- 7. 使用擴展名使用文件名的拆分選項
- 8. 2組拆分文件名
- 9. PowerShell腳本查找擴展名爲.xls和.xlsx的Excel文件
- 10. 將文本文件拆分爲單獨的文件,並將子字符串保存爲文件名;蟒蛇
- 11. 我們如何使用ant腳本來提取文件的文件擴展名?
- 12. 將字符串拆分爲兩個單獨的屬性ruby
- 13. 文本文件擴展名
- 14. 腳本如何刪除擴展名並放在單獨的列
- 15. 如何在shell腳本的文件中單獨獲取擴展名?
- 16. setup.py中的腳本名稱,爲什麼我需要腳本文件名的文件擴展名?
- 17. SQLite:.db文件擴展名.sqlite文件擴展名爲
- 18. 將獨特的文件擴展名掃描到一個變量
- 19. 配置單元ddl腳本的標準文件擴展名?
- 20. 如何在shell腳本中刪除文件名的擴展名?
- 21. 在批處理腳本中沒有擴展名的文件名
- 22. bash腳本重命名文件的擴展名
- 23. 文件擴展名爲
- 24. 文件擴展名爲
- 25. 文件擴展名和C#
- 26. CMake將文件擴展名處理爲另一種文件擴展名
- 27. C++ - 分割文件名和文件擴展名
- 28. 用Python獲取文件名和擴展名爲hdfs的文件
- 29. 如何將單個Node.js文件拆分爲單獨的模塊
- 30. Ant jar命令只編譯擴展名爲.jar的文件
感謝大衛,我已經使用ant-contrib和for循環它應該完美地爲我需要的工作。只是不確定是否正則表達式是否與此一致,或者是否有另一個我缺少的任務。 – colbype
你可以直接寫 –
gouessej
請將「regex」替換爲「regexp」,請參閱http://ant-contrib.sourceforge.net/ant-contrib/manual/tasks/propertyregex.html – gouessej