【问题标题】:How to hide "PS C:\>" in powershell?如何在powershell中隐藏“PS C:\>”?
【发布时间】:2021-01-04 19:00:43
【问题描述】:

所以你知道在powershell中如果你在它前面输入一个命令,总会有“PS(目录)>”。 我知道它可以在 cmd 中使用一个简单的命令,但是你如何在 powershell 中做到这一点?

所以:

  • 隐藏命令前面的文本(PS C:>)
  • 如果可能,通过命令

如果有人知道修复方法,请告诉我。 如果我先找到它,我会自己回答。

(我后来找到了这个dup):Windows PowerShell: changing the command prompt

【问题讨论】:

    标签: powershell prompt


    【解决方案1】:

    就像提到的 Calculuswhiz 一样,以下应该可以工作:

    Function Prompt {" "}
    

    只需在双引号内添加任何其他内容即可更改它。

    【讨论】:

    • 刚要添加后续评论:返回空字符串时,您将始终得到PS>,因此最好在您的答案中返回一个空格。
    • 您始终可以使用zero width space function prompt { [char]8203 },或者在空格function prompt { " `b" } 后面加一个退格键。我认为退格方法稍微好一些,因为它在复制多个控制台行时不会添加任何内容。
    • 嗯,这对我来说似乎没有什么不同。
    【解决方案2】:

    Abraham Zinala's helpful answer 表明它是 prompt 函数 - 在 about_Prompts 概念帮助主题中描述 - 确定 PowerShell 在提示用户输入命令时在交互式会话中打印的字符串。

    正如Calculuswhiz 所说,输出 empty 字符串 ('') 不是 根本不打印提示字符串的选项,因为 PowerShell 然后默认为PS>.

    打印单个空格是解决该问题的一种方法,但该空格会打印。为防止这种情况,Dabombber 在评论 Abraham 的问题时提出了解决方法,但 Windows 10 最简单的解决方案是:

    function prompt { "`0" }  # Fully HIDES the prompt string.
    

    "`0" 输出NUL(空字符),有效隐藏提示字符串,没有副作用,包括在 Windows Terminal 和 ConEmu 中。[1]

    在 Windows 7 上,NUL 将 打印为空格,在这种情况下,Dabombber 的替代方案会有所帮助:

    # A space followed by a backspace char. in effect amounts to the empty string.
    function prompt { " `b" }  
    

    将此函数添加到您的$PROFILE 文件中以在以后的所有会话中隐藏提示字符串。


    [1] 在 v20.11.24.0 版本上验证。 Dabombber 提到了 ConEmu prints NUL characters as a space,但鉴于 ConEmu 是基于 conhost.exe 的,就像常规控制台窗口一样,它仅适用于直到 Windows 7

    【讨论】:

    • 所有解决方案似乎都给我的 shell 带来了问题。如果我在创建 prompt 函数后键入单个 ',则会收到异常 System.ArgumentOutOfRangeException。也许是其他东西在影响它。
    • @AdminOfThings,我没有看到这个问题 - 如果您使用 -noprofile 开始会话,您还会看到它吗?
    • @mklement0 “无副作用”取决于您的控制台,例如 ConEmu replaces NUL with a space
    • @Dabombber,我不知道为什么,但这在实践中不会发生,因此该解决方案在 ConEmu 中也可以正常工作 - 请参阅我的更新。
    • @mklement0 看起来匹配提示字符串的检查可能只发生在on start-up or when PromptText is changed。所以这不是一个真正的问题,只是您在使用 prompt 函数时可能会遇到的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    相关资源
    最近更新 更多