ant 中的fileset include等拷貝

 拷貝一個目錄到指定目錄下
例:<copy todir="${basedir}/new">
<fileset dir="${basedir}/old">
<include name="appgen" />
<include name="appgen/" />
<include name=appgen/**" />
<include name="appgen/***" />
</fileset>
</copy>
一樣使用<fileset/>屬性,name指定目錄名,不過這裏要分兩種狀況,用<include/>子屬性和不用<include/>子屬性.
若使用<include/>, 又要分三種狀況
如果「appgen」,則只會拷貝名爲appgen的空目錄過去,它裏面的文件和子目錄則不會拷貝。
如果「appgen/」,或「appgen/**」,則會把整個appgen目錄拷貝過去,包括裏面的文件和子目錄。
如果「appgen/*」,則只會把該目錄和該目錄下第一級子目錄的全部東西拷貝過去,而不會拷貝第二級和第二級如下的。注:「appgen/*」這兒是一個*號,*號若大於兩個,也跟一個*號是一樣效果。好比「appgen/*」和「appgen/****」都只拷貝appgen目錄下第一級子目錄。

注:若appeng這個目錄自己就是個空目錄,不管怎麼寫,這個空目錄都不會被拷貝。也就是說,copy操做不會產生建立空目錄的做用,要想建立空目錄,只有用mkdir。

若不使用任何<include>屬性,如
<fileset dir="${basedir}/old">
</fileset>
則會拷貝${basedir}/old下的全部文件和子目錄。

注:使用<exclude/>排除目錄時,目錄名必須寫成「appgen/」或「appgen/**」形式,不然不會生效。

以上是三種拷貝到目錄的種類,注意若是計算機中沒有todir指定的路徑,ant將會自動建立這個路徑。app

相關文章
相關標籤/搜索