2008-09-28 30 views

回答

0

請參閱script任務。您可以使用C#或其他方式編寫自定義代碼,並返回可分配給屬性的值。

0

不需要。您需要爲此類事情編寫自定義任務。

2

這是有可能找到你的路徑的父目錄,然後使用字符串替換找到你要找的文件夾:

<property name="some.dir" value="c:\my_proj\source\test.my_dll" /> 
<property name="some.dir.parent" value="${directory::get-parent-directory(some.dir)}" /> 
<property name="directory" value="${string::replace(some.dir, some.dir.parent + '\', '') }" /> 
1

你可能要嘗試添加的新功能到南特0.93(在夜間仍然雖然版本) -

directory::get-name(path)

這將返回提到的目錄的名稱在path

參考nant help

4

實際上,你可以與現有的惡性字符串函數做到這一點。只是有點難看......

${string::substring(path, string::last-index-of(path, '\') + 1, string::get-length(path) - string::last-index-of(path, '\') - 1)} 
0

擴大史蒂夫·K:

<script language="C#" prefix="path" > 
    <code> 
     <![CDATA[ 
      [Function("get-dir-name")] 
      public static string GetDirName(string path) { 
       return System.IO.Path.GetFileName(path); 
      } 
     ]]> 
    </code> 
</script> 

<target name="build"> 
    <foreach item="Folder" in="." property="path"> 
     <echo message="${path::get-dir-name(path)}" /> 
    </foreach> 
</target> 
+0

你可以注入任何C#代碼爲惡性腳本。哇...多麼讓人難過:) – 2016-07-15 05:54:27

相關問題