所以我已经有了一个powershell脚本。但是,当它替换其替换的东西时,它会变成一条线。这真的是无组织的。
当前脚本
powershell -command "(Get-Content Contentlocation.html) -replace '</tr></table>', '<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></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>
有人知道这是否可能吗? 我希望我已经对此做了足够的解释,如果您不了解某些内容,然后再写,那么我会尽力澄清
答案 0 :(得分:2)
您正在寻找
`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>
答案 1 :(得分:0)
如果您愿意编写整个脚本,则可以使用格式化的文本预定义变量。
$html = '</tr></table>'
$replace = '
<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>'
$html -replace '</tr></table>', $replace
这是一个完整的示例:
$html = Get-Content 'Contentlocation.html'
$replace ='<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>'
Set-Content -Path 'Contentlocation.html' -Value $html.Replace('</tr></table>', $replace)