2011-02-23 113 views
3

我試圖檢查一個目錄是否作爲NAnt腳本的一部分存在並且獲得了錯誤的否定。這裏是腳本片段:即使目錄存在,nant directory :: exists也會返回false

<echo message="${backup.dir} --> ${directory::exists('${backup.dir}')}"/> 

這裏是輸出:

[echo] D:\D\RTC\backup\20110223 --> False 

除目錄存在。

彷彿我運行一個側面說明..

<echo message="${backup.dir} --> ${directory::get-creation-time('${backup.dir}')}"/> 

我得到以下錯誤:

Expression: ${backup.dir} --> ${directory::get-creation-time('${backup.dir}')} 
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    Could not find a part of the path "D:\D\RTC\${backup.dir}". 

,如果我跑..

<echo message="Directory Name --> ${path::get-directory-name('${backup.dir}')}"/> 

我得到

[echo] Directory Name --> 

總而言之,我現在很困惑..任何想法?

+0

刪除\備份\件以及切換到/無影響。 – 2011-02-23 20:43:11

回答

7

你不能在嵌套方式使用${}

<echo message="${backup.dir} --> ${directory::exists(backup.dir)}"/> 
+0

謝謝!不能相信我錯過了這一點。 – 2011-02-24 16:42:08

+0

也忘了這個......我在現在需要調整的幾個構建腳本中犯了這個錯誤......無論如何,使用嵌套$ {}時應該有一個NAnt警告;-) – hfrmobile 2012-07-06 11:08:48

+0

輝煌!謝謝!! – joshcomley 2012-10-11 11:01:41

相關問題