Microsoft Word命令行实用程序

时间:2013-08-29 14:19:56

标签: windows ms-word

我有一个MS Word文档,其路径在Environment变量中设置。

如何从命令行实用程序打开该文档?

"C:\Program Files\Microsoft Office\Office\Winword.exe" E:\hello.docx

我有上面的命令来打开文档。但是在上面的命令中,我已经硬编码了文档的名称和路径。

我想要做的就是使用Environment变量来提供文档的名称和路径。

2 个答案:

答案 0 :(得分:2)

如果您打开使用Powershell而不是命令提示符,则只需完成几个设置步骤即可完成。

首先,为word文档创建环境变量。如果您已在其他地方完成此操作,请跳过此步骤。请注意,由双引号括起来的字符串将解析变量,因此在此示例中$env:username将解析为您当前的Windows用户。如果你愿意,也可以硬编码,但这有助于概括示例。

$env:WordDoc = "C:\Users\$env:username\Documents\myDocument.docx"

接下来,您需要将Office的目录添加到路径变量中。您可以搜索winword.exe来查找位置,但它可能是下面两个中的一个:

  • C:\ Program Files \ Microsoft Office \ Office14
  • C:\ Program Files(x86)\ Microsoft Office \ Office14

您可以简单地将该路径附加到环境变量,如下所示:

$env:Path += ";C:\Program Files\Microsoft Office\Office14"

无论如何,一旦设置完毕,您可以使用PowerShell中的winword打开word文档。这是一个简单的例子:

winword $env:WordDoc

以这种方式更改环境变量的快速说明 - 它们位于流程级别。这意味着当您关闭PowerShell会话时,这些更改将消失。您可以将它们保存到powershell脚本并在控制台中运行,而不是在每个新会话中键入它们。这是一个适用于我的机器的快速脚本:

param
(
    [string]$FilePath
    [string]$wordDir = "C:\Program Files (x86)\Microsoft Office\Office14"
)

$env:WordDoc = $FilePath
If(!($env:Path | Select-String -SimpleMatch $wordDir))
{
    $env:Path += ";$wordDir"
}
winword $env:WordDoc

在命令提示符下执行此操作将涉及类似的过程 - 您仍需要设置PATH环境变量以识别Microsoft Office。 This answer提供了一些有关如何做到这一点的见解。

答案 1 :(得分:1)

如果您指的是批处理文件,并且MS Word与您系统上的.doc.docx文件扩展名正确关联,则非常简单。

将以下内容放在批处理文件中(例如,C:\ Temp \ StartHello.bat)。我用DocVar作为文档的路径和文件名;将其替换为您的环境变量的任何名称。

set DocVar="E:\Hello.docx"
%DocVar%

运行它

C:\Temp>StartHello

如果已设置环境变量,只需从分配它的批处理文件中删除第一行。这留给你一行:

%DocVar%

如果您的意思是“直接从命令行”,您可以跳过批处理文件部分:

C:\Temp>%DocVar%