我正在使用以下脚本将一个充满 txt 和 rtf 文档的目录转换为 Word 文档。
$global:word = new-object -comobject word.application
$word.Visible = $False
$srcfiles = \\Path\to\files
$savepath = \\Path\to\docfiles
$saveFormatDoc = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], 0);
function saveas-document ($docs) {
"Opening $($docs.FullName)"
$opendoc = $word.documents.open($docs.FullName)
$savepath = "$docPath$($docs.BaseName)"
"Converting to $savepath.doc"
$opendoc.saveas([ref]"$savepath", [ref]$saveFormatDoc)
}
ForEach ($doc in $srcfiles) {
saveas-document -docs $doc
}
以现在的编码方式,我认为它正在打开一个新的 Word 实例,在 Word 中打开 rtf/txt 文档,另存为 Word 文档并重复。我不会退出 Word(除非$word.quit()
某个地方有隐含的含义。我担心我会在多个 Word 实例中扼杀性能,但不知道这是否是我需要担心的问题。
什么是更有效的编码方式来打开单个 Word 实例以进行文档处理,以及将 Word 作为应用程序打开而不是打开基于文件关联启动应用程序的一系列文档的语法是什么(这就是我害怕它现在在做什么)?