即使目录存在,nant directory :: exists也会返回false

问题描述:

我试图检查一个目录是否作为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

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

<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