首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Powershell中将从Microsoft word文档中检索到的值设置为字符串?

如何在Powershell中将从Microsoft word文档中检索到的值设置为字符串?
EN

Stack Overflow用户
提问于 2013-10-07 22:45:12
回答 1查看 290关注 0票数 0

我有一个powershell脚本,它将从Microsoft word文档的表中读取值。但是,当我尝试将该值写入文本文件以供批处理文件稍后使用时,它不能按预期工作。文本文件显示的值的末尾带有一个点。然后,当我从批处理文件中的文本文件中读取值时,它就会变得一团糟。

代码语言:javascript
复制
$wd = New-Object -ComObject Word.Application
$wd.Visible = $true
$doc = $wd.Documents.Open("C:\Users\jxh\Desktop\taskids.doc"  )
$iTable = $doc.Tables.Item(1)

$r = $iTable.Rows.Count
$c = 1
Write-host $r "x" $c
$content = $iTable.Cell($r, $c).Range.Text 
Write-host $content

 if ($content) {
$r = $iTable.Rows.Count - 1
$c = 1
Write-host $r "x" $c
$content = $iTable.Cell($r, $c).Range.Text #| Out-File C:\filename.txt
Write-host $content 
$iTable.Cell($iTable.Rows.Count, $c).Range.Text=$content+1  }

$content > C:\filename.txt


$doc.Close()
$wd.Quit()
# Stop Winword Process
$rc = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($wd)
EN

回答 1

Stack Overflow用户

发布于 2013-10-08 00:09:26

您在.txt文件中看到的字符是贝尔字符。您可以使用regex操作符将其剥离出来,如下所示:

代码语言:javascript
复制
$content -replace "\a","" > 'C:\filename.txt'

UPDATE:这展示了如何删除范围之外的所有字符,而不仅仅是单个字符。在此示例中,任何不是数字字符的内容都将替换为空字符:

代码语言:javascript
复制
$content -replace "[^0-9]","" > 'C:\filename.txt' 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19227837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档