首页 > 解决方案 > 如何使 powershell 替换命令更易于理解

问题描述

所以我已经有一个powershell脚本。但是,当它替换它支持替换的东西时,它会生成 ONE 行。这真的是无组织的。

当前脚本

powershell -command "(Get-Content Contentlocation.html) -replace '</tr></table>', '<tr style=&quot;mso-yfti-irow:34&quot;><td valign=&quot;top&quot; style=&quot;width:180;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm&quot; height=&quot;5&quot;><font size=&quot;4&quot;>%Date%</font></td><td valign=&quot;top&quot; style=&quot;width:500;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm&quot; height=&quot;5&quot;><font size=&quot;4&quot;>%Location%</font></td><td valign=&quot;top&quot; style=&quot;width:523;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm&quot; height=&quot;5&quot;><font size=&quot;4&quot;>%Amount%</font></td></tr></table>' | Set-Content contentlocation.html"

我希望它看起来像这样。(在 html 文档中)

 <tr style="mso-yfti-irow:34">
  <td valign="top" style="width:180;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5">
  <font size="4">DATE</font></td>
  <td valign="top" style="width:500;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5">
  <font size="4">LOCATION</font></td>
  <td valign="top" style="width:523;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5">
  <font size="4">AMOUNT</font></td>
 </tr>

而不是这样

 <tr style="mso-yfti-irow:34"><td valign="top" style="width:180;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5"><font size="4">DATE</font></td><td valign="top" style="width:500;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5"><font size="4">LOCATION</font></td><td valign="top" style="width:523;padding-left:3.5pt; padding-right:3.5pt; padding-top:0cm; padding-bottom:0cm" height="5"><font size="4">AMOUNT</font></td>

有谁知道这是否可能?我希望我解释得很好,如果有什么你不明白的,那就写吧,然后我会尽力澄清

标签: powershellstructure

解决方案


你正在寻找

`r`n
`r = Carriage return
`n = Line feed

所以

"</tr>`r`n</table>"

output
</tr>
</table>

您还可以使用 [System.Environment]::NewLine

'</tr>'+ [System.Environment]::NewLine +'</table>'

output
</tr>
</table>

您还可以在变量中使用换行符

$n = [System.Environment]::NewLine
'</tr>'+ $n +'</table>'

output
</tr>
</table>

推荐阅读