0
我有一個PowerShell腳本,它將從Microsoft Word文檔中的表中讀取值。但是,當我嘗試將該值寫入文本文件以供以後由批處理文件使用時,它不會按需要工作。文本文件在結尾處顯示帶有點的值。然後,當我從批處理文件中的文本文件中讀取值時,它全部搞砸了。如何在Microsoft Word文檔中檢索Powershell中的字符串值?
$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)
即將擺脫點,但我仍然無法正確獲取值。寫入文件的值是86591,但是當我嘗試檢索批處理文件中的值時,我得到■8 ■8作爲從文本文件返回的值 – Bullsfan127
您可以嘗試替換不在指定範圍內的任何字符。所以如果你只想要數字,你的替換可能看起來像這樣$ content -replace「[^ 0-9]」,「」 – Jim
這仍然不能解決問題。它在記事本中打開時看起來很鰭,但是當我檢索值時,我仍然得到相同的結果。也許它與微軟Word編碼或某事有關? – Bullsfan127