我可以在 Powershell 中转义颜色代码,这样我就不需要使用 -ForeGroundColor 吗?

2023-12-07

是否可以使用一些颜色代码转义字符,以便我不需要提及 -ForeGroundColor 参数?

所以而不是:

write-Host "Hello World!" -ForegroundColor:Blue

我可以做类似的事情吗:

write-Host "Hello \{somethinghere to denote from this point it will be in BLUE color} World!" 

这是一个解决 powershell 不支持 ANSI 转义码的解决方案。

这应该允许您指定用作分隔符的字符

function Write-Colored {
    param(
        [Parameter(Mandatory=$True, Position=1)]
        [string]$text,
        [Parameter(Mandatory=$True, Position=2)]
        [string]$delimiter
    )


    $i = $text.Split($delimiter)

    function pr ([string]$item, [System.ConsoleColor]$color){
        Write-Host $item.Substring(1) -fore $color -NoNewline
    }

    foreach ($item in $i){
        $colorcode = $item.ToCharArray()[0]

        switch($colorcode){
            "b" { pr $item Blue }
            "r" { pr $item Red }
            "g" { pr $item Green }
            "y" { pr $item Yellow }
            default { Write-Host $item -NoNewline }
        }
    }
}

在开关块中,添加您想要对应于某种颜色的任何速记代码。我选择了单个字符,因为它更容易验证,结果如下:

input:

$text = "#rmy #gname #yis #bchris"

输出类似的东西

image

请记住,在使用此辅助函数时,您将需要使用

`n

用于向文本添加换行符,或添加write-host ""如果需要的话,到你的函数的底部。

编辑:修改后的代码更加可靠

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 Powershell 中转义颜色代码,这样我就不需要使用 -ForeGroundColor 吗? 的相关文章

随机推荐

  • 配置 emacs 以显示固定宽度的内嵌图像

    跟进 Emacs 组织显示内联图像 我按照 abo abo 的建议设法显示内联图像 现在我想为它们设置一个固定的宽度大小 设置 setq org image actual width 50 不起作用 Emacs 选择了该变量 但它没有对图像
  • 设置 ggplot 标题以反映 dplyr 分组

    我在 dplyr 中生成了一个分组数据框 其中每个组反映了因子变量水平的独特组合 我想使用类似的代码绘制不同的组this邮政 然而 我不知道如何在我的图的标题中包含两个 或更多 变量 这很麻烦 因为我有一堆不同的组合 假数据和绘图代码 li
  • scanf("%*[\n] %[^\n]", input_string); 是什么意思?做?

    我无法理解其中的区别 我用 n s 用于获取用户输入的短语 但当我需要添加两个短语时 这不起作用 但上面那个却做到了 请帮助我理解其中的区别 The n 指令告诉scanf 匹配换行符 以及 flag 表示不应进行任何分配 因此 n 跳过任
  • 使用intelliJ调试android中的后台服务

    我最近从 eclipse 切换到 IntelliJ 进行 Android 开发 由于更好的团队支持 项目 模块 但是 当我尝试调试后台服务时 似乎这是不可能做到的 有人成功让 IntelliJ 调试 bg 服务吗 非常感谢 本 有两种方法可
  • JavaScript 中动态加载的问题

    我是一名 JavaScript 新手 通过工作来学习pure计算数学函数的 JavaScript 项目 一切都运转良好 现在 作为进一步的一步 我想让消息传递多语言 该代码应该能够在运行时加载适当的语言文件 对于动态加载问题 我在网页上阅读
  • Matplotlib 自定义标记/符号

    So there is this guide http matplotlib org examples pylab examples scatter symbol html http matplotlib org examples pyla
  • 无法从 Alpha Vantage API 获取实时价格。价格为一天前的价格

    我正在尝试从 Alpha Vantage API 获取最新的盘中价格 目前是东欧时间星期五晚上 9 16 我正在尝试购买特斯拉股票 市场仍然开放 但是 API 调用仅返回昨天的数据 可能是什么问题呢 ts TimeSeries key AP
  • Powershell:将参数和管道输入转发到别名函数

    如何将所有管道输入和参数转发到别名函数内的命令 例如 如果我想给 tail 添加别名 function tail coreutils tail args 可以很好地配合tail n 5 test txt 但不与cat test txt ta
  • Bitbucket - 如何禁用奇怪的无意义的有色人[重复]

    这个问题在这里已经有答案了 我使用位桶 最近 每次按下按钮后 我开始在控制台中看到一个大个子黑人 自上周以来 它出现的频率越来越高 这使得我在控制台的登录时间更长 而且根本不方便工作 有什么方法可以完全禁用它吗 我不想看到它 我只想要吉特
  • 将二进制文件读入bash中的变量中

    我有以下 bash 脚本 我希望文件 out 1 和 out 2 相同 但它们是不同的 我怀疑问题在于 bash 如何处理二进制文件 那么在 bash 中将二进制文件读入变量的正确方法是什么 curl s http cacerts digi
  • 如何在android中实现调用键盘事件监听

    我想实施我的BroadcastReceiver按某些组合键时 假设我用键盘拨打 1234 他们是我的BroadcastReceiver将被调用 我可以通过什么启动我的活动 这是我解决这个问题的方法 这是我解决这个问题的方法 public c
  • Xcode 在处理程序中的 Stray '\342' 时给出了三个语法错误[重复]

    这个问题在这里已经有答案了 我正在 Xcode 中的 Objective C 中开发一个简单的项目 并且我收到了有关以下代码行的一些杂散 错误 if celsius lt 273 15 NSLog It is impossible to c
  • C++ 将一堆值与给定值进行比较

    我需要将一个给定值与检索到的值进行比较 我在代码中多次这样做 我对它的外观不满意 我正在寻找某种 util 函数 有人写过一篇吗 我要比较的值的数量在编译时是已知的 Update 我想摆脱容器 因为我知道我想要比较的确切值数量 通常不超过
  • 使用 Play 框架将生成的图像发送到浏览器

    我正在尝试使用 Play 输出生成的图像 我不确定我的问题是否与 Play 相关 我正在尝试执行与此 PHP 代码相同的操作 header Content type Image png map imagecreatefrompng SESS
  • Spring security 无法自动装配 UserDetailsS​​ervice

    我在尝试从数据库添加身份验证时遇到了困难 这是错误日志 2015 年 12 月 23 日 08 24 32 819 严重 localhost startStop 1 org springframework web context Conte
  • 统计子聚合返回的桶数

    我需要计算返回的结果集中的桶数管道聚合 问题是我正在使用的查询脚本选择器 here POST visitor carts search size 0 aggs visitors terms field visitor id aggs one
  • 如何指定预测中的最小或最大可能值?

    有没有办法指定使用 ETS ARIMA 模型进行的预测中的最小或最大可能值 例如 预测只能在 0 到 100 之间的百分比趋势时 我正在使用 R 包forecast 和功能forecast 如果你的时间序列y有一个自然的界限 a b 你应该
  • 从 Azure Functions HttpTrigger 返回 JArray 时出现问题

    我试图从 HttpTrigger 类型的 Azure 函数返回 JArray 对象 JArray a JArray Parse reportId 1111 reportName AAAA return req CreateResponse
  • 悬停在禁用的输入字段上不起作用?

    我在悬停时有一个禁用的输入字段 我想在其上弹出一个窗口 表示该字段将自动填充
  • 我可以在 Powershell 中转义颜色代码,这样我就不需要使用 -ForeGroundColor 吗?

    是否可以使用一些颜色代码转义字符 以便我不需要提及 ForeGroundColor 参数 所以而不是 write Host Hello World ForegroundColor Blue 我可以做类似的事情吗 write Host Hel