从NANT更改命令(CMD)窗口的标题
我希望能够在整个NAnt脚本中的不同点更改命令窗口的标题 我尝试使用该任务调用“title myTargetName”,但它给了我以下错误: “title”无法启动从NANT更改命令(CMD)窗口的标题,nant,cmd,title,Nant,Cmd,Title,我希望能够在整个NAnt脚本中的不同点更改命令窗口的标题 我尝试使用该任务调用“title myTargetName”,但它给了我以下错误: “title”无法启动 The system cannot find the file specified 请问有没有办法做到这一点?提前谢谢 您可以使用cmd或批处理文件来运行包含以下内容的nant脚本: title %1 %NANT_PATH%\nant.exe %1 这应该起作用: <exec>title Step One</
The system cannot find the file specified
请问有没有办法做到这一点?提前谢谢 您可以使用cmd或批处理文件来运行包含以下内容的nant脚本:
title %1
%NANT_PATH%\nant.exe %1
这应该起作用:
<exec>title Step One</exec>
<!-- Do some stuff -->
<exec>title Step Two</exec>
<exec>SetTitle.exe "Step One"</exec>
<!-- Do some stuff -->
<exec>SetTitle.exe "Step Two"</exec>
标题第一步
标题第二步
这将使用常规的
cmd.exe
命令。如果您将此小程序编译为控制台应用程序:
namespace SetTitle
{
internal static class Program
{
private static void Main(string[] args)
{
System.Console.Title = string.Join(" ", args);
}
}
}
那么这就行了:
<exec>title Step One</exec>
<!-- Do some stuff -->
<exec>title Step Two</exec>
<exec>SetTitle.exe "Step One"</exec>
<!-- Do some stuff -->
<exec>SetTitle.exe "Step Two"</exec>
SetTitle.exe“第一步”
SetTitle.exe“第二步”
您可以对自定义NAnt任务执行相同的操作,但所涉及的工作将更加复杂,并且您仍必须在脚本执行过程中发现NAnt任务程序集。尝试以下操作:
' In your command prompt
title foobar
' The title now should say 'foobar' without quotes
' Now issue this...
cmd /k fubar
' The title now should say 'fubar' without quotes
设置窗口标题后立即添加“退出”命令
希望这有帮助,
顺致敬意,
Tom。您可以在自定义任务中设置控制台标题。如果任务是在中定义的,则生成文件是自包含的 nant完成后,控制台标题将恢复
<project default="title">
<target name="title">
<consoletask title='step 1'/>
<sleep minutes="1" />
<consoletask title='step 2'/>
<sleep minutes="1" />
<consoletask title='step 3'/>
<sleep minutes="1" />
</target>
<script language="C#">
<code>
[TaskName("consoletask")]
public class TestTask : Task
{
private string title;
[TaskAttribute("title", Required=true)]
public string Title
{
get { return title; }
set { title = value; }
}
protected override void ExecuteTask() {
System.Console.Title = title;
}
}
</code>
</script>
</project>
不,对不起-我从南特收到这个错误“程序”是的必需属性。您是对的
title
本身不是一个可执行文件,而是一个由cmd.exe
识别的特殊命令。我接受您的建议的方式是,cmd文件更改标题,然后运行特定脚本。这就是你的意思吗?我的意思是,在Cmd窗口中运行NAnt脚本时,我希望能够临时重命名运行窗口的标题,以指示系统当前正在处理脚本的哪一部分,因为每个脚本可以运行5分钟左右。你可以制作一个cmd或批处理,一个接一个地构建你想要的目标,并在每个新的目标调用上设置标题。我必须承认,我不太舒服,但是应该在没有任何附加要求的情况下跑步。嗯,试过这个。如果命令窗口在控制环境中,这没关系,但是在NAnt脚本中,这可能是“不确定的”,就像构建脚本在中途崩溃一样,我的新cmd会话仍然保持打开状态。赚大钱吧!干得好!正是我想要的。