好的,我已经编写了一个在 Windows 8 中完美运行的脚本。我切换到 Windows 7 并获得了各种血液。经过一番调试,我发现了问题所在。Win 8 使用 PowerShell 3.0 和 Win 7 使用 PowerShell 2.0 并且 PowerShell 3.0 允许您在使用时使用双引号:
$ExecutionContext.InvokeCommand.ExpandString($var)
由于我的代码严重依赖于此,其中许多字符串使用双引号,因此我正在尝试寻找解决方案。
Here-Strings 不起作用,因为我的一些字符串是这样的:
$var = 'this is a "sample" of $one of my strings'
here-string 解决方法仅在我输出到文本文件时才有效,因为我在函数中大量使用此代码,所以我不希望这样做。
我在微软的网站上发现了一个与此相关的错误。它在 PowerShell 3.0 中的工作方式是它最初的工作方式。此外,将 Windows 7 升级到 PowerShell 3.0 也是不可能的。