螢幕上顯示 XML 原始碼的深色程式編輯器畫面

← INSIGHTS & PERSPECTIVES | DevOps

Apache Ant 常用命令整理:copy、delete、mkdir、move、echo 用法範例

整理 Apache Ant 建構腳本最常用的五個命令:copy 複製檔案目錄、delete 刪除檔案、mkdir 建立目錄、move 移動檔案、echo 輸出訊息,附完整 XML 範例可直接套用。

寫 Ant 建構腳本時,最常反覆查的就是 copy、delete、mkdir、move、echo 這幾個基本命令的寫法。這篇我把自己常用的用法整理成範例清單,涵蓋複製單一檔案與整個目錄、刪除檔案與備份、建立目錄、搬移檔案,以及把訊息寫進日誌檔,需要時直接照抄改路徑就能用。

怎麼用 copy 命令複製檔案和目錄?

`copy` 主要用來對檔案和目錄做複製,常見三種情境:

  1. 複製單個檔案:

```xml

```

  1. 對檔案目錄進行複製:

```xml

```

  1. 將檔案複製到另外的目錄:

```xml

```

delete 命令怎麼刪除檔案與目錄?

`delete` 用來對檔案或目錄進行刪除,幾個常見例子:

  1. 刪除某個檔案:

```xml

```

  1. 刪除某個目錄:

```xml

```

  1. 刪除所有的備份檔或空目錄:

```xml

```

mkdir 命令怎麼建立目錄?

`mkdir` 用來建立目錄,一次指定完整路徑即可:

```xml

```

move 命令怎麼移動檔案或目錄?

`move` 用來移動檔案或目錄,寫法和 `copy` 很像,但來源會被搬走:

  1. 移動單個檔案:

```xml

```

  1. 移動單個檔案到另一個目錄:

```xml

```

  1. 移動某個目錄到另一個目錄:

```xml

```

echo 命令怎麼輸出訊息到日誌?

`echo` 的作用是根據日誌或監控器的級別輸出資訊。它包括 `message`、`file`、`append` 和 `level` 四個屬性,例如把訊息附加寫入日誌檔:

```xml

```

延伸閱讀

常見問題

QAnt 的 copy 和 move 命令有什麼差別?

兩者語法幾乎相同,都支援 `file`/`tofile`/`todir` 與 `fileset`。差別在於 `copy` 會保留來源檔案,而 `move` 在複製後會刪除來源,等同「搬移」。

Q怎麼用 Ant 刪除所有備份檔(*.bak)?

使用 `delete` 搭配 `fileset` 的 `includes="/*.bak"`,並加上 `includeEmptyDirs="true"` 把清空後的目錄一併刪掉。`` 代表遞迴比對所有子目錄。

QAnt 的 echo 可以把訊息寫進檔案嗎?

可以。指定 `file` 屬性就會把 `message` 寫入該檔案,再加上 `append="true"` 表示附加而非覆蓋,適合用來累積建置日誌。

QAnt 還在用嗎?不是都用 Maven 或 Gradle 了嗎?

Maven、Gradle 確實是現在的主流,但不少維護中的舊 Java 專案仍是 Ant 腳本。理解 copy、delete、mkdir、move、echo 這些基本命令,對接手舊專案或撰寫簡單的自動化流程仍然很有幫助。

參考資料

最後更新

2026-08-28(原文發布於 2013-07-28,本文保留原始筆記內容並補上 GEO 結構。)

關於作者 {#author}

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2013-07-28