Görüntüleri dışa aktarmam gereken 900'den fazla MS Word dosyasına sahibim. Birkaç dosyayı HTML’ye aktardım, ancak bu 900+ dosya için yavaş / uzun bir işlem.
Bir süre önce burada bir Powershell betiği buldum ama işe yaramadı. Windows 10 ve Office 365'e sahibim, bu yüzden komut dosyasının güncellenmesi gerekip gerekmediğinden emin değilim.
İşte Powershell betiği convertdoc.ps1
param([string]$docpath,[string]$htmlpath = $docpath)
$srcfiles = Get-ChildItem $docPath -filter "*.doc"
$saveFormat = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatFilteredHTML");
$word = new-object -comobject word.application
$word.Visible = $False
function saveas-filteredhtml
{
$opendoc = $word.documents.open($doc.FullName);
$opendoc.saveas([ref]"$htmlpath\$doc.fullname.html", [ref]$saveFormat);
$opendoc.close();
}
ForEach ($doc in $srcfiles)
{
Write-Host "Processing :" $doc.FullName
saveas-filteredhtml
$doc = $null
}
$word.quit();
Komut isteminden aşağıdakileri arıyorum:
powershell -ExecutionPolicy RemoteSigned -File "c:\convertdoc.ps1" "c:\1" "c:\1-output"
Daha iyi bir yöntem var mı, yoksa ne? Dosyalar 60 ya da daha fazla klasöre sahiptir, bu nedenle ideal olarak en üstteki klasörü işaret edebilirim ve çıkış klasörü ile alt klasörleri oluşturur ve tekrarlı olarak dışa aktarır.