从脚本返回一个值

时间:2009-10-25 20:19:47

标签: nant dos

我在nant脚本中调用批处理文件,并希望获取值(5个字符的字符串)返回到nant脚本并继续nant脚本。 请建议如何做到这一点。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用exec task node

resultproperty属性

您的批处理文件(foo.bat):

...
@exit 101

您的NAnt代码段:

<exec
  program="C:\foo.bat"
  resultproperty="bar"
  failonerror="false" />
<echo message="batch returned ${bar}"/>

答案 1 :(得分:1)

我根本不知道,但批处理文件返回数据的最常用方法是ERRORLEVEL。但是,errorlevel仅为数字(1-255)AFAIK。要返回错误级别,请在批处理文件中使用EXIT:

退出1

第二种方法是让您的批处理文件输出值......但是非常危险,因为其他输出可能会干扰它。

第三种方法是将结果写在文件中(例如“call command&gt; result.txt”)并且不能解析文件。

在每种情况下,你都必须解析结果 - 哪种方式最可行取决于它可以处理什么。