2016-09-27 1 views
0

Я хочу найти, какая версия Outlook работает на определенных рабочих станциях. Если я вручную запустилПродукт WMIC, где «name like ...» - «экземпляры не доступны», если они запущены в пакетном файле

wmic /node:"hostname" product where "Name like '%Office Outlook%'" get Name 

в командной строке, он работает. Но если я запустил его из командного файла, он возвращает «Нет экземпляров (ов)». Я даже лишил все остальное из командного файла, поэтому осталась только эта строка - и я все равно получаю тот же результат. Я что-то упускаю?

ответ

2

В файле пакетного сценария:

wmic /node:"hostname" product where "Name like '%%Office Outlook%%'" get Name 

Для доказательства, попробуйте следующий в пакетный файл:

echo ON 
wmic /node:"hostname" product where "Name like '%%Office Outlook%%'" get Name 
pause 

Вы должны увидеть следующую ECHO команду Е.Д., так же, как это было бы набрано из командной строки:

wmic /node:"hostname" product where "Name like '%Office Outlook%'" get Name 
::::::::::::::::::::::::::::: 
::: some wmic output here ::: 
::::::::::::::::::::::::::::: 
Press any key to continue . . . 

Для объяснения, прочитать Syntax : Escape Characters, Delimiters and Quotes

Спасаясь

Проценты

символ% имеет особое значение для параметров командной строки и для параметров.
Для лечения процентов в пакетный файл сценария как регулярный характер, удвойте: %%

Read How does the Windows Command Interpreter (CMD.EXE) parse scripts? (весь нить), а также.

+0

«%% Office Outlook %%» работал! Спасибо! – user2132386

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