Я создал скрипт, который должен возвращать документ с определенным словом.
Он ищет ключевое слово в документе, чтобы найти нужный файл. Он находит файл, но также и множество других файлов, которые не содержат ключевое слово, но говорят, что * содержат ключевое слово
Что я делаю неправильнопожалуйста.
С уважением
#Client modules laden (https://www.microsoft.com/en-us/download/details.aspx?id=42038)
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Search.dll"
#Folder om mee verbinding te maken
$SourceFolder = "c:\test"
cd $SourceFolder
#Keywords waarop gezocht moet worden
$keyword1 = "25189"
$Forward = $true
$MatchWholeWord = $true
$Word = New-Object -ComObject Word.Application
$docs = Get-ChildItem -Path $SourceFolder -Recurse| Where-Object {$_.Name -like '*.doc*'}
foreach ($doc in $docs)
{
$condition1 = $word.Documents.Open($doc.FullName).Content.Find.Execute($keyword1,$Forward,$MatchWholeWord)
if ($condition1 -match $true)
{
#$word.Application.ActiveDocument.Close()
Write-Host -f Cyan "$doc contains $keyword1"
#Move-Item -Path $doc.FullName -Destination $destination
$word.Application.ActiveDocument.Close()
}
else
{
$word.Application.ActiveDocument.Close()
Write-Host -f Red "$doc does not contain $keyword1"
}
#Write-host -f Green $doc.Name
}
$document.close()
Write-Host $doc.FullName
Stop-Process -Name "WINWORD"