У меня есть более 900 файлов MS Word, из которых мне нужно экспортировать изображения. Я экспортировал несколько файлов в HTML, но это медленный / длинный процесс для 900+ файлов.
Я нашел здесь сценарий Powershell некоторое время назад, но он не работает. У меня Windows 10 и Office 365, поэтому я не уверен, нужно ли обновлять скрипт.
Вот скрипт Powershell 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();
Я звоню со следующим из командной строки:
powershell -ExecutionPolicy RemoteSigned -File "c:\convertdoc.ps1" "c:\1" "c:\1-output"
Есть ли лучший метод или как? Файлы находятся в примерно 60 папках, поэтому в идеале я мог бы указать на верхнюю папку, и она создала бы выходную папку и подпапки и рекурсивно экспортировала.