繁体   English   中英

换行符从MSBuild调用PowerShell

[英]Line breaks invoking PowerShell from MSBuild

我正在尝试从我的MSBuild脚本调用PowerShell脚本。 当我将以下内容折叠成一行时,它会运行,但是当我这样离开时,出现以下错误。 万一重要,我将从BAT脚本开始启动MSBuild脚本。

<Exec Command="powershell.exe -NonInteractive -ExecutionPolicy Unrestricted 
           -Command &quot;&amp; Invoke-Command 
             -ComputerName &apos;$(Server)&apos; 
             -ScriptBlock { 
                &amp;install.ps1 
                -serviceName &apos;$(ServiceName)&apos; 
                -exePath &apos;$(ExePath)&apos; 
                -computerName &apos;$(Server)&apos; 
             } &quot;
  " />

无法将“ -Command”识别为内部或外部命令,可操作程序或批处理文件。

无法将“ -ComputerName”识别为内部或外部命令,可操作程序或批处理文件。

无法将“ -ScriptBlock”识别为内部或外部命令,可操作程序或批处理文件。

&目前无法预料。

我从Microsoft文档中复制了XML作为起点,检查所有空格都是纯空格字符,我尝试在每行的末尾添加一个空格,并尝试确保每行的开头只有一个空格最后都没有,我尝试了Windows和Unix的行尾。 这些都不起作用,所以我不确定会发生什么。

得到一些反馈后,我尝试将`^添加到每行的末尾,除了带有/>那一行之外,都没有允许脚本运行。

感谢@PetSerAl的评论,我可以这样解决它,方法是在每行的末尾,每个双引号和&符之前添加^

<Exec Command="powershell.exe -NonInteractive -ExecutionPolicy Unrestricted ^
           -Command ^&quot;^&amp; Invoke-Command
             -ComputerName &apos;$(Server)&apos; ^
             -ScriptBlock { ^
                ^&amp;install.ps1 ^
                -serviceName &apos;$(ServiceName)&apos; ^
                -exePath &apos;$(ExePath)&apos; ^
                -computerName &apos;$(Server)&apos; ^
             } ^&quot;
  " />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM