我可以更改读取主机,使其不总是以冒号结尾吗?

问题描述 投票:0回答:2

每当我执行

Read-Host
时,提示总是以
:
结束。有什么办法可以改变这个吗?是-提示标志吗?

powershell
2个回答
11
投票

正如评论中提到的,无法控制执行主机应用程序在传递

Prompt
消息参数参数时如何呈现提示。

您可以做的是直接从脚本中调用

$Host.UI.ReadLine()
并自己添加一条消息:

Write-Host "No colons here>" -NoNewLine
$UserInput = $Host.UI.ReadLine()

这是

powershell.exe
中的示例:

Read-HostCustom function


0
投票

要半永久地删除 PowerShell 的 Read-Host 的默认冒号,请使用您自己的同名函数覆盖本机 Read-Host cmdlet,如下所示:

function Read-Host($prompt) {
  Write-Host "$prompt  " -NoNewline
  Microsoft.PowerShell.Utility\Read-Host }

结果:

Read-Host "What is your name?"
    
What's your name?  Mike
Mike

将该函数放置在脚本的顶部,或者将其保存在模块中并根据需要将其导入到每个脚本中。

© www.soinside.com 2019 - 2024. All rights reserved.