Могу ли я указать путь к файлу при использовании метода .SaveAs для документов с Powershell? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть скрипт для преобразования 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, так что это лучшее, что я смог придумать до сих пор.

...