Write-Host string literal weirdness

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

我正在尝试使用一个变量,该变量是从 XML 中提取的字符串,其中包含一些文本,这些文本将后面的内容标识为十六进制值,然后我将对其进行转换,以便将其写入注册表。 但是我在向控制台回显进度时遇到了一些问题。这里的

Write-Host
带有单引号的文字作品。我得到了实际的字符串文字。但是其他三个都去掉前缀和冒号然后自动将剩下的转换为
[byte]
.

$value = 'Something:0x33,0x32,0xfz'
Write-Host 'Something:0x33,0x32,0xfz'
Write-Host $value
Write-Host "$value"
Write-Host "${value}"

我的意思是,我喜欢 PowerShell 为我做一些事情,但真的没有办法偶尔关闭 %@$# 吗? ;) 我必须相信我只是在放屁,并且有一些机制可以将

$value
的值用作带有
Write-Host
的字符串文字,但我星期一早上的说法并非如此。而且,
Something:
被视为除了字符串文字之外的任何东西到底是怎么回事?

powershell string-literals
1个回答
1
投票

我无法从命令行使用 5.1 版重现它。
根据您的 EDIT2,您需要检查this:尤其是“PowerShell v6 及更高版本不支持 ISE”的部分。 - 即使他们“没有计划从 Windows 中删除 ISE”,它也不应该再使用太久了,我早就把它扔掉了。在其他情况下,它也试图提供帮助,但只会把事情搞砸,而且永远无法修复。 (当我试图找到它为什么做某事时,我找到了这个链接,我不记得我停止使用它的原因......)

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