好吧,我已經編寫了一個在Windows 8中完美運行的腳本。我切換到Windows 7並獲取各種血液。經過一些調試後,我發現了這個問題。運8使用的PowerShell 3.0和Win 7使用的PowerShell 2.0和PowerShell 3.0,您可以使用雙引號使用時:
$ExecutionContext.InvokeCommand.ExpandString($var)
由於我的代碼,在很大程度上依賴於這與許多使用雙引號的字符串,我想找到解決方案。
這裏串都沒有奏效,因爲我的一些字符串是這樣:
$var = 'this is a "sample" of $one of my strings'
在此處的字符串替代方法只作品,如果我輸出到一個文本文件,我不想因爲我大量使用這個代碼在一個函數中。
我在微軟的網站上發現了一個與此相關的錯誤。它在PowerShell 3.0中的工作方式是它最初的工作原理。另外,將Windows 7升級到PowerShell 3.0也是不可能的。
我剛剛升級了我的Powershell版本,現在我正在用Powershell 3運行Windows 7,並且字符串被正確擴展。 –