У меня есть скрипт для преобразования PDF-файлов в формат .docx, и в его текущем состоянии он сохраняет текстовые документы в том же месте, мне было интересно, можно ли указать путь к файлу при использовании метода Document.SaveAs ? Я использую функцию, которая позволяет вручную выбирать папку для экспорта и сохранять ее в переменной, но мне не удалось ее использовать. Могу ли я каким-то образом указать PowerShell использовать эту переменную в качестве пути экспорта для текстовых документов?
Это то, что у меня есть:
$documents_path = $PSScriptRoot
Function Get-Folder($initialDirectory) {
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$foldername = New-Object System.Windows.Forms.FolderBrowserDialog
$foldername.Description = "Select an export folder"
$foldername.rootfolder = "MyComputer"
if($foldername.ShowDialog() -eq "OK"){
$folder += $foldername.SelectedPath
}
return $folder
}
$folder = Get-Folder
$word_app = New-Object -ComObject Word.Application
Get-ChildItem -Path $documents_path -Filter *.pdf | ForEach-Object {
$document = $word_app.Documents.Open($_.FullName)
$pdf_filename = "$($_.DirectoryName)\$($_.BaseName).docx"
$document.SaveAs([ref] $pdf_filename, [ref] 16)
$document.Close()
}
$word_app.Quit()
Я посмотрел на синтаксис при использовании метода .SaveAs, и не похоже, что есть способ указать путь к файлу, я надеялся, что смогу использовать $ folder, но не смог заставить его работать без ошибок. Это ни в коем случае не является неотъемлемой частью, просто некоторые аспекты качества жизни, которые я хотел бы включить. Я не уверен, есть ли лучший способ конвертировать / сохранять файлы, я не очень разбираюсь в PowerShell, так что это лучшее, что я смог придумать до сих пор.