用反引号转义中间的双引号。
cmd /c "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\start.ps1 -settings_override_xml /`"<?xml version=/'1.0/'?><Settings><Keys>243</Keys></Settings>/`""
编辑:为了解释,它将您的原始命令读取为:
使用以下命令启动命令提示符:
cmd /c "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\start.ps1 -settings_override_xml /"
然后将以下内容作为该命令的参数或输入导入:
<?xml version=/'1.0/'?><Settings><Keys>243</Keys></Settings>/""
嗯,你是对的,它在 < 这是一个保留字符上出错,我打赌它也会在 > 上出错。逃避那些,它应该工作。
cmd /c 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\start.ps1 -settings_override_xml /"`<?xml version=/''1.0/''?`>`<Settings`>`<Keys`>243`</Keys`>`</Settings`>/"'
测试它在我的机器上工作,没有给出错误。