我有一個包含多個子目錄的目錄。裏面有文件。在這些file1.ext
之外是在一個以上的目錄中存在重複。子目錄和文件名在執行時顯然是未知的。Ant:如何停止複製副本
-> bigdir --------> subdir1 ----------------> file1.ext --------> subdir2 ----------------> file1.ext --------> subdir3 ----------------> file2.ext
我試圖複製bigdir
內容到smalldir
使用flatten="true"
,使我得到的文件結構看起來像
-> smalldir ----------> file1.ext ----------> file2.ext
到目前爲止,我有以下
<copy todir="${smalldir}" flatten="true" verbose="true">
<fileset dir="${bigdir}">
<include name="**/*.ext"/>
</fileset>
</copy>
這工作正常,並達到我想要的結果,但是,在bigdir
中有重複文件是錯誤的。我想構建失敗,如果它檢測到bigdir
有重複的文件名
我試圖找到一種方法,使<copy>
任務失敗,在這種情況下。它不一定要通過這種方法。如果我能弄明白,我也可以在複製之前愉快地在目錄上運行某種validation
。
也許會使每個複製文件爲只讀,以便後續覆蓋作爲copy flatten=true
的結果未能覆蓋併產生錯誤?
沒有螞蟻的contrib請
謝謝你,工作。確實在尋找更多的「原生」解決方案,但仍然是很好的答案。 – Slav
如何顯示哪些文件是重複的? @Rebse – Slav