我想使用powershell命令從批處理文件更新xml文件,並認爲我很近但有語法問題。從批處理文件更新PowerShell的xml文件
這是powershell命令是在批處理文件:
powershell -Command "& {$xml = [xml](Get-Content "C:\Temp\Test\configuration.xml"); $xml.root.settings.installingUser.value = 'NewID'; $xml.Save("C:\Temp\Test\configuration_ny.xml")}"
實施例對configuration.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<test engine="2011.0.0" />
<settings>
<installDir value="C:\Program Files\App\Path" />
<installingUser value="InstallID" />
</settings>
</root>
該錯誤消息表示它缺少結束括號並希望所有幫助或建議我可以解決這個問題。
'的powershell -Command 「&{$ XML = [XML](獲取內容\」 C:\ TEMP \測試\ configuration.xml中\「); $ xml.root.settings .installingUser.value ='NewID'; $ xml.Save(\「C:\ Temp \ Test \ configuration_ny.xml \」)}「' – PetSerAl
問題是使用-Command參數,遇到問題,諸如花括號和引號等字符在被傳遞到Powershell之前將被命令提示符誤解。您可以通過添加幾層轉義來打結,或者有一種更簡單的方法 - 使用-EncodedCommand參數。看到這[回答](http://stackoverflow.com/a/30269513/1419175) –