对不起,我的问题可能有些奇怪。我想要做的是在我的Read-Host提示符后面有一个美元符号。所以我现在拥有的是:
$BookPrice = Read-Host "Please enter book price"
执行此命令时,它看起来像:
Please enter book price:
我希望命令看起来像是:
Please enter book price: $
这样用户就可以从" $"开始输入价格。我尝试了很多东西,但美元符号总是在结肠前结束。
这可能吗?
答案 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", '$')