2011-03-09 67 views
1

for和for之間的主要區別是什麼? 我正在使用websphere mqfte使用ant腳本來傳輸文件。ant-contrib的和foreach的核心區別是什麼?

我需要我的文件重新命名,併發送到如下另一個文件夾:

如:源:\src\*.txt在目的地的文件應該\dest\kk_*.cpp(*表示文件名中的所有文件需以更名爲如下。 )。

任何人都可以幫助我嗎?

回答

1

並從antcontrib的foreach任務之間的主要區別=

爲使用連續狀macrodef而 的foreach打開每個迭代一個新的項目範圍 - 像其他任務 螞蟻,antcall,和subant。

這意味着由於性能問題,應優先使用任務。

對於您的重命名問題=>您應該使用複製或移動任務 一個嵌套的映射器已被其他研究人員說過。 針對標準螞蟻使用行爲的原因是什麼!?

btw。因爲antcontrib開發似乎已經死了 - 最後一次在2006年發佈: 還有一個具有類似功能的新的ant插件=>ant flaka

1

copy任務與glob或正則表達式mapper一起使用。不過,不知道這個問題和每個人都有什麼關係。

+0

事情是我需要執行此重命名而不使用複製和映射程序任務。 – trilawney 2011-03-09 11:25:56

+0

後人 - 使用ant-contrib但不使用複製和映射器任務是愚蠢的。這個答案是處理這個例子的最好方法(儘管這個問題似乎與這個例子完全無關)。 – thekbb 2013-11-25 14:11:41

0

for和foreach任務不是核心Ant的一部分,很可能他們是ant-contrib集合中的任務。

根據螞蟻的contrib for task docs

這個任務是一樣的<foreach> 任務,除了

* it uses a nested sequential for each iteration; and 
* it implements an additional "keepgoing" attribute. 

<for>利用螞蟻的macrodef 任務,所以@ {}表示法用於 參數替換。

+0

克萊頓。你能否建議我一種方法來執行這個重命名而不使用mapper任務。 – trilawney 2011-03-09 11:27:24

+2

也許,但爲什麼你不能使用映射器的副本,然後調用fte:複製重命名的文件 - 你試過並且遇到了問題嗎? – 2011-03-09 11:47:52

+0

它工作很好的clayton。但根據我的要求,我無法在源端或目標端創建任何分段。 – trilawney 2011-03-10 05:27:38

相關問題