Как (и почему) запустить Microsoft Word из командной строки

Как и большинство приложений, вы можете запускать Word из командной строки, но Word также поддерживает несколько дополнительных переключателей для управления процессом запуска.
Независимо от того, вводите ли вы команду в командной строке, используете ее для создания ярлыка, вставляете ее как часть пакетного сценария, запуск Word с дополнительными параметрами позволяет вам делать такие вещи, как запуск Word в безопасном режиме для устранения неполадок или запуск с определенным шаблоном.
Использование командной строки для запуска Word
Прежде чем мы сможем открыть Word с помощью командной строки, нам нужно выяснить, в каком каталоге находится файл winword.exe. Вы можете сделать это вручную или просто попросите командную строку найти это за вас. Для этого откройте командную строку, открыв меню «Пуск», набрав «cmd» и выбрав приложение «Командная строка».
Когда вы откроете командную строку, вы окажетесь в каталоге верхнего уровня — папке вашей учетной записи. Нам нужно копнуть глубже, зайдя в каталог Program Files. Сделайте это, введя следующую команду и нажав Enter:
cd «программные файлы (x86)»

Теперь вы окажетесь в каталоге Program Files. Следующим шагом является поиск каталога, в котором находится файл winword.exe. Для этого введите следующую команду и нажмите «Enter».
каталог winword.exe / s
После ввода этой команды командная строка сама найдет каталог.

Теперь, когда вы знаете каталог, в котором находится файл winword.exe, вы можете использовать команду cd, чтобы открыть путь к файлу. В этом примере вам нужно будет ввести следующую команду:
компакт-диск Microsoft OfficerootOffice16
Теперь вы должны оказаться в каталоге, в котором находится winword.exe.

Теперь, если вы хотите открыть Microsoft Word так же, как если бы вы открывали его с помощью его значка, все, что вам нужно сделать, это ввести winword и затем нажать «Enter», и Word откроется обычным способом.

Однако весь смысл использования команды заключается в том, что вы можете использовать различные переключатели и параметры, которые она предлагает.
Общие параметры и параметры командной строки Word
Заимствовано из официальный сайт поддержки Microsoft Office , вот список некоторых возможных способов открыть Word вместе с соответствующей командой.
Работа с файлами Office 2007 из командной строки
После того как Microsoft ввела новые форматы в пакете Office 2007 жить пользователям стало гораздо интересней. Несовместимость с предыдущими версиями без установки конвертера и попытки привыкнуть к интерфейсу в виде ленты были лишь малой частью возникших проблем. Но данная статья не об этом, она о том, что можно сделать с документом формата Office 2007/2010 из командной строки, даже если у вас не установлен Microsoft Office.
Сначала немного теории, формат Office 2007/2010 представляет собой подвид XML, внутри он содержит специальным образом отформатированный текст с которым можно работать любым текстовым редактором. Снаружи мы видим файл с расширением docx, представляющий собой архив формата ZIP. Следовательно, для работы нам понадобится архиватор понимающий ZIP и блокнот. Все действия мы будем автоматизировать используя bat файлы.
Для начала нам понадобится исходный документ формата docx. Его можно создать самостоятельно или взять из архива, вместе с остальными примерами к статье. Для начала создадим на диске C папку для рабочих файлов и назовем ее OfficeXMLBat. С помощью Microsoft Word создаем внутри папки документ с именем Source.docx примерно такого содержания:

Для начала мы сделаем так, чтобы после запуска пакетного файла в поле Дата автоматически прописывалась сегодняшняя дата. Для начала нам необходимо выбрать архиватор работающий со стандартными ZIP архивами, остановим свой выбор на 7-ZIP. Из всего комплекта поставки , для работы в консоли, нам понадобятся только два файла 7z.exe и 7z.dll. Для тех у кого этот архиватор уже установлен необходимые файлы обычно находятся в папке Program Files\7-Zip, остальным проще взять эти файлы из архива или установить 7-ZIP. Сначала извлечем содержимое из документа Source.docx в папку Source, сделать это можно из вашего любимого архиватора или из консоли 7z.exe x Source.docx -oC:\OfficeXMLBat\Source\ -aoa. В результате в папке Source будет создан набор файлов из которых и состоит документ формата Office 2007/2010. Из всех представленных файлов нам будет интересен только один, из папки word, с именем document.xml, в котором и хранится содержимое документа. Откроем его в обычном блокноте или вашем любимом HEX редакторе (правой кнопкой по файлу — Открыть с помощью — Блокнот ;). Внутри ищем строку 01.05.1980, которую мы будем менять на сегодняшнюю дату. Принцип работы будет такой — мы выделяем и копируем весь текст до строки 01.05.1980 после чего вставляем его в отдельный файл, а потом копируем содержимое после строки 01.05.1980 и вставляем в другой файл. Для работающих в блокноте понадобится открыть еще один экземпляр блокнота, в который будет вставляться результат копирования. При сохранении из блокнота не забываем выбрать кодировку UTF-8 и поместить результат в папку OfficeXMLBat.
В примере, первый файл называется part1.txt, а второй part2.txt. Описание как надо выделять, копировать и сохранять в блокноте, я опущу — должен же быть у этой статьи минимальный порог вхождения ;). В результате у нас получается две половинки исходного файла с вырезанной датой. Легко представить, что склеив две половинки с сегодняшней датой и вставив получившийся файл обратно в архив мы получим нужный нам результат. Осталось это все реализовать в виде bat файла.
Сначала определимся откуда будет запускаться командный файл, для нас это папка на диске c с именем OfficeXMLBat, поэтому первой строкой в командном файле будет переход в эту папку:
Теперь выведем в файл с именем date.txt сегодняшнюю дату
Склеим файлы part1.txt date.txt part2.txt в один общий файл с именем document.xml и сохраним его в папку Source\word
Осталось собрать документ обратно, заархивировав содержимое папки Source в документ с именем Create.docx
На этом написание скрипта закончено, после запуска получившегося батника в папке появится файл Create.docx, открыв который мы увидим сегодняшнюю дату

Весь получившийся батник сохранен в файле create.bat, исходный текст:
В принципе этого достаточно для понимания как это все работает. Создадим еще один пример, более сложный. В файл Create2.docx будем добавлять не только дату, но и время, кроме того будем проверять папку на наличие файла report1.txt, если он есть то в колонке «Отчет сдал» впишем Да, иначе Нет. Получится этакая система контроля сдачи отчета.
Для начала разрежем файл document.xml на 4 части, разделителями послужат строки Дата (01.05.1980), Время (10:55), Отчет сдал (Да). В результате в папке будет 4 новых файла, part1b.txt part2b.txt part3b.txt part4b.txt, которые мы будем склеивать в новый документ. Осталось переписать скрипт:
Первые три строчки это переход в нужную папку и вывод текущего времени и даты в соответствующие файлы. Потом идет проверка существования файла report1.txt и, в зависимости от этого, в файл rep.txt выводится Yes или No. Последние две строки склеивают все в один документ и упаковывают его в архив. Дабы не засорять пример непечатными символами в примере Да/Нет выводится на английском языке, в готовом варианте здесь можно писать по русски, но только в кодировке UTF-8, например сохраняя файл из блокнота. После запуска скрипта и открытия файла Create2.docx мы увидим следующее:

Заботливый Word подчеркнул надпись на английском, но в целом поставленная задача успешно решена. Если в нашу рабочую папку закинуть файл report1.txt любого размера, то после запуска скрипта надпись No сменится на Yes, что как бы показывает что отчет сдан.
Подобный метод несложно распространить на Linux/Unix и любые другие системы со встроенным скриптовым языком. В принципе то же самое может делать простейшая программа на любом языку высокого уровня, но помня как, сисадмины относятся к незнакомым exe файлам на сервере, консольный метод можно тоже признать жизнеспособным. Недостатком можно посчитать привязку к архиватору 7-Zip, но использовать архивацию в ZIP, встроенную в Windows, из консоли неудобно, а другие консольный архиваторы никто не отменял. В конце концов, можно воспользоваться DOS архиватором родом из 80-х PKZIP или написать оболочку для zlib — простор для модификаций огромен ;). Все примеры к статье можно скачать здесь.
Запустить Word 2013 из командной строки
У некоторых наших клиентов есть проблема, которую мы не можем воспроизвести здесь: наше программное обеспечение использует MS-Word для создания формных писем. Поскольку некоторые из наших клиентов используют Office 2013, эта функция больше не будет работать.
Мы попытались воспроизвести это и обнаружили, что в уязвимых системах Word не запускается из командной строки. Запуск по ссылке в стартовом меню работает. Он также работает для запуска Excel из командной строки.
Есть ли у кого-нибудь идеи, в чем проблема и как ее решить?
5 ответов
Мы нашли решение: наше программное обеспечение по-прежнему использует старые имена файлов 8.3 — также длинные имена файлов заменяются короткими. И похоже, что Office 2013 их больше не любит.
Попробуйте использовать приглашение запуска, нажав кнопку Windows + R. Откроется окно запуска, а затем введите winword , чтобы открыть MS Word, и excel , чтобы открыть MS Excel.
Это расположение и файл исполняемого файла в Office 2013, как указано в ярлыке. Вы также не можете запустить его с помощью winword в 32-разрядной версии Win 8.