command-line - 如何在 NAnt 脚本中运行 'color' 命令

标签 command-line colors nant

我刚刚开始使用 Nant 进行构建和测试。我想让它在失败时更改我的命令提示 rune 本的颜色(或背景),以便很容易注意到。

Windows 上命令提示符中的命令是“颜色 4”,将其更改为红色,将颜色 7 更改为白色。

我如何在构建脚本中运行它,echo 不起作用,exec 不起作用(虽然可能使用 exec 错误)。我宁愿不必运行 perl 等来做一些在标准命令提示符窗口中很容易完成的事情。

有谁知道如何做到这一点?

最佳答案

尝试使用自定义任务。如果任务包含在 nant 文件中,您将没有任何外部依赖项。

<project >

    <target name="color">
        <consolecolor color="Red" backgroundcolor="White"/>
        <echo message="red text"/>
        <consolecolor color="White" backgroundcolor="Black"/>
        <echo message="white text"/>
    </target>

    <script language="C#">
        <code>
            [TaskName("consolecolor")]
            public class TestTask : Task
            {
            private string _color;
            private string _backgroundColor;

            [TaskAttribute("color",Required=true)]
            public string Color
            {
            get { return _color; }
            set { _color = value; }
            }

            [TaskAttribute("backgroundcolor",Required=false)]
            public string BackgroundColor
            {
            get { return _backgroundColor; }
            set { _backgroundColor = value; }
            }

            protected override void ExecuteTask()
            {
            System.Console.ForegroundColor = (System.ConsoleColor) Enum.Parse(typeof(System.ConsoleColor),Color);
            System.Console.BackgroundColor = (System.ConsoleColor) Enum.Parse(typeof(System.ConsoleColor),BackgroundColor);
            }
            }
        </code>
    </script>

</project>

关于command-line - 如何在 NAnt 脚本中运行 'color' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446135/

相关文章:

windows - 从 Windows 命令提示符创建带时间戳的 ZIP 存档

command-line - PlasticSCM:将所有更改提交到部分工作区,包括新文件和删除的文件?

jQuery 颜色变化还是 CSS?

javascript - 使用Javascript更改背景颜色并在刷新页面后保留它

wix - 使用 nant 创建 MSI 的最快途径

.net - 在 NAnt 中构建 Azure 部署包

command-line - 如何从 plesk 服务器打开 bashrc 文件并添加新的 PHP 路径版本

class - Enterprise Architect 类填充颜色

nant - NAnt 上的并行任务执行

bash - 如何使用 bash 执行任何编辑其文件(参数) "in place"的命令?