我正在尝试使用ant使用以下命令记录cmd tree命令的输出:
<exec dir="${basedir}" executable="cmd" output="output.txt">
<arg value="tree" />
</exec>
但是,我在“output.txt”中看到以下内容:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
当我在windows cmd中运行命令时:
C:\tree>tree
我得到类似的东西:
C:\tree
└───test
└───test
有人能告诉我如何编写Ant脚本将树结构打印到文件中吗?
答案 0 :(得分:4)
您尝试执行tree.com
。来自documentation of exec:
[...]特别是,如果你不放一个 仅限可执行文件的文件扩展名 寻找“.EXE”文件,而不是 “.COM”,“。CMD”或其他文件类型 列在环境变量中 PATHEXT。那仅用于 外壳
您需要明确地致电tree.com
。
<exec dir="${basedir}" executable="tree.com" output="output.txt" />
另一种方法是指定/C
的{{1}}参数,这对我有用:
cmd
答案 1 :(得分:1)
(猜测一下,我不是Ant用户)
如果要输入
cmd tree
进入命令提示符时,您也看不到
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
如何执行tree
?
<exec dir="${basedir}" executable="tree" output="output.txt"/>