Script do Windows PowerShell para converter uma pasta do Word Docs para PDF

2

Então eu já tenho o código básico para fazer isso. ou seja, converter uma pasta de documentos do Word em pdf.

# Acquire a list of DOCX files in a folder

$Files=GET-CHILDITEM ‘C:\Users\Ashley\downloads\articles\*.DOC’
$Word=NEW-OBJECT –COMOBJECT WORD.APPLICATION


Foreach ($File in $Files) {

    # open a Word document, filename from the directory

    $Doc=$Word.Documents.Open($File.fullname)

    # Swap out DOCX with PDF in the Filename

    $Name=($Doc.Fullname).replace(“doc”,”pdf”)

    # Save this File as a PDF in Word 2010/2013
    $Doc.saveas([ref] $Name, [ref] 17)
    $Doc.close()

}

Mas, como está, se eu tiver arquivos docx. Eu preciso voltar a executar o código substituindo doc por docx. É de alguma forma eu posso fazer a função substituir substituir doc e docx para pdf? Assim, eliminando a necessidade de executá-lo duas vezes? Obrigada!

    
por Web Dev 02.11.2014 / 06:13

1 resposta

1

Isso deve ajudar. Observe que o get-childitem procura o doc * e o regex na substituição.

$Files=GET-CHILDITEM 'C:\Users\Ashley\downloads\articles\*.DOC*'
$Word=NEW-OBJECT –COMOBJECT WORD.APPLICATION

Foreach ($File in $Files) {

    # open a Word document, filename from the directory

    $Doc=$Word.Documents.Open($File.fullname)

    # Swap out DOCX with PDF in the Filename

    $Name=$Doc.Fullname -replace('doc([x]{0,1})',"pdf")

    # Save this File as a PDF in Word 2010/2013
    $Doc.saveas([ref] $Name, [ref] 17)
    $Doc.close()

}
    
por 02.11.2014 / 15:39