0
调用的时候,我有以下PowerShell的命令从PowerShell中直接调用时工作完全正常:替换字符串不工作从CMD
Get-ChildItem -r -include 'AssemblyInfo.cs' `
| foreach-object { $a = $_.fullname; (get-content $a) `
| foreach-object { $_ -replace '((\[assembly:\sAssemblyVersion\(")(\d\.\d\.\d\.\d)("\)\]))', '$1[assembly:AssemblyInformationalVersion("$3-alpha")]' } `
| Out-File $_.fullname }
然而,从CMD叫(我们Buildservers进程在cmd中运行)时它不会引发错误,但它也简化版,替换字符串如预期(它可以从任何CMD窗口转载):
PowerShell -Command "(Get-ChildItem -r -include 'AssemblyInfo.cs') | foreach-object { $a = $_.fullname; (get-content $a) | foreach-object { $_ -replace '((\[assembly:\sAssemblyVersion\(")(\d\.\d\.\d\.\d)("\)\]))', '$1[assembly:AssemblyInformationalVersion("$3-alpha")]' } | Out-File $_.fullname }"
我逃脱引号的标志尝试四周,命令中使用and
&`但它没有帮助。
我错过了什么?
谢谢你,伙计! – nozzleman