如何添加" $"作为Read-Host提示的一部分

时间:2014-10-14 00:29:42

标签: powershell powershell-v3.0

对不起,我的问题可能有些奇怪。我想要做的是在我的Read-Host提示符后面有一个美元符号。所以我现在拥有的是:

$BookPrice = Read-Host "Please enter book price"

执行此命令时,它看起来像:

Please enter book price:

我希望命令看起来像是:

Please enter book price: $

这样用户就可以从" $"开始输入价格。我尝试了很多东西,但美元符号总是在结肠前结束。

这可能吗?

2 个答案:

答案 0 :(得分:2)

你可以这样做,就像2个命令一样:

Write-Host 'Please enter book price: $' -NoNewline
$BookPrice = Read-Host

答案 1 :(得分:0)

看起来您正在尝试使用某些文本启动用户。我不认为使用Read-Host原生可行。有人可能很容易证明我错了。返回值中的前缀是否适用于此情况?

PS C:\Users\Name> $BookPrice = '$' + (Read-Host 'Please enter book price')
Please enter book price: 345
PS C:\Users\Name> $BookPrice
$345

如果用户实际放置$ so并且不创建副本,则可以引入一点If来捕获。如果您愿意退出控制台,可以使用输入框执行此操作。

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$BookPrice = [Microsoft.VisualBasic.Interaction]::InputBox("Please enter book price", "Book Price", '$')