2013-08-29 5 views
1

У меня есть документ MS Word, путь которого задан в переменной среды.Утилита командной строки Microsoft Word

Как открыть этот документ из командной строки?

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

У меня есть команда выше, чтобы открыть документ. Но в приведенной выше команде я жестко закодировал имя и путь документа.

Все, что я хочу сделать, это использовать переменную окружения для указания имени и пути документа.

ответ

1

Если вы имеете в виду из командного файла, а MS Word правильно связан с расширениями файлов .doc и .docx в вашей системе, это очень просто.

Поместите следующее в пакетный файл (например, C: \ Temp \ StartHello.bat). Я использовал DocVar как путь и имя файла документа; замените его тем, что названо вашей переменной окружения.

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

Выполнить это

C:\Temp>StartHello 

Если переменная окружающей среды уже установлен, просто удалить первую строку из пакетного файла, который назначает его. Это оставляет вас с одной строки:

%DocVar% 

Если вы имеете в виду «непосредственно из командной строки», вы можете просто пропустить командный файл часть:

C:\Temp>%DocVar% 
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" 

Во всяком случае, как только это будет установлено вы можете использовать winword из powersh ell, чтобы открыть документы на слово. Вот простой пример:

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 предлагает некоторое представление о том, как это сделать.

Смежные вопросы