我正在使用 Powershell 阅读包含表格的 word (2003) 文档。表中的文本具有我需要捕获以进行处理的换行符。但是当我使用 Write-host 或 Write-output 时,会忽略换行符,并且打印多个值,就好像它是一行一样。
如何打破单元格内的换行符?我正在使用的代码如下:
$objWord = New-Object -Com Word.Application
$filename = 'C:\Chicago_NewUser.doc'
$objDocument = $objWord.Documents.Open($filename)
$LETable = $objDocument.Tables.Item(1)
$LETableCols = $LETable.Columns.Count
$LETableRows = $LETable.Rows.Count
Write-output "Starting to write... "
for($r=1; $r -le $LETableRows; $r++) {
for($c=1; $c -le $LETableCols; $c++) {
#Write-host $r "x" $c
$content = $LETable.Cell($r,$c).Range.Text
Write-output $content
}
}
$objDocument.Close()
$objWord.Quit()
$rc = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objWord)
Word 文档可在https://docs.google.com/document/d/1W0usG4ASsvd3PqQ20l7P8rq0hWBsYlrI0iM1S5ZcumU/edit获得 有问题的值是:SET REG=04 SET BLD=01
但是 powershell 脚本将其打印为 SET REG=04SET BLD=01
本人回答:
我想我想通了。
我可以使用这行代码检测换行符:
Write-output $content.contains("`r")