Vip*_*ppy 2 variables powershell parsing
好吧,我已经编写了一个在Windows 8中完美运行的脚本.我切换到Windows 7并获得各种血液.经过一些调试,我发现了问题.Win 8使用PowerShell 3.0,Win 7使用PowerShell 2.0和PowerShell 3.0允许您在使用时使用双引号:
$ExecutionContext.InvokeCommand.ExpandString($var)
Run Code Online (Sandbox Code Playgroud)
由于我的代码在很多字符串使用双引号时非常依赖于此,我正在尝试找到解决方案.
Here-Strings没有用,因为我的一些字符串是这样的:
$var = 'this is a "sample" of $one of my strings'
Run Code Online (Sandbox Code Playgroud)
here-string解决方法只有在输出到文本文件时才有效,我不想要这个文本文件,因为我在函数中大量使用了这段代码.
我在微软的网站上发现了与此相关的错误.它在PowerShell 3.0中的工作方式是它最初的工作方式.此外,将Windows 7升级到PowerShell 3.0是不可能的.
您可以测试小于3的PowerShell版本,然后转义任何双引号,如下所示:
C:\PS> if ($PSVersionTable.PSVersion.Major -lt 3) { $var = $var -replace '"','`"' }
C:\PS> $ExecutionContext.InvokeCommand.ExpandString($var)
this is a "sample" of one baby of my strings
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1503 次 |
| 最近记录: |