如何在创建文件夹Nant时添加日期



如何在nant中创建文件夹时添加当前日期?我有<mkdir dir="${Test.Dir}"/>因此,我需要使用名称创建文件夹"TestDir-04-04-2022";。

有什么建议吗?谢谢

在我的案例中,我只找到了使用带有自定义函数的嵌入C#代码的解决方案。可能的解决方案:

变体1:

<?xml version="1.0" encoding="utf-8"?>
<project name="Deployment" default="Deploy">
<script language="C#" prefix="datetime">
<code>
<![CDATA[
[Function("now-formatted")]
public static string GetNowAsString(string format) {
return DateTime.Now.ToString(format);
}
]]>
</code>
</script>
<target name="DateTimeTest">
<property name="Test.Dir" value="${'TestDir-' + datetime::now-formatted('dd-MM-yyyy')}" />
<echo message="${Test.Dir}" />
<mkdir dir="${Test.Dir}" />
</target>
</project>

变体2:

<?xml version="1.0" encoding="utf-8"?>
<project name="Deployment" default="Deploy">
<script language="C#" prefix="datetime">
<code>
<![CDATA[
[Function("format")]
public static string GetNowAsString(DateTime datetime, string format) {
return datetime.ToString(format);
}
]]>
</code>
</script>
<target name="DateTimeTest">
<property name="Test.Dir" value="${'TestDir-' + datetime::format(datetime::now(), 'dd-mm-yyyy')}" />
<echo message="${Test.Dir}" />
<mkdir dir="${Test.Dir}" />
</target>
</project>

注:datetime::now-是标准的nant函数。


输出:

DateTimeTest:
[echo] TestDir-08-23-2022
[mkdir] Creating directory 'C:TestTestDir-08-23-2022'.
BUILD SUCCEEDED
Total time: 0.2 seconds.

最新更新