2013-08-07 3 views
2

У меня есть быстрый вопрос, должен быть относительно прост для тех, у кого есть больше опыта работы с процессором WMI-команд, чем я (и поскольку я абсолютный новичок, а не жесткий :-))Wmic/формат недействителен XSL?

Я не могу понять, почему коммутатор wmic/format работает так, как он делает. Я открываю cmd.exe и тип

wmic process list brief /format:htable > processlist.html 

Это делает именно то, что я хочу, и не беспокоиться дальше. В то время как, если я иду в Wmic процессор, и попытаться выполнить ту же команду в точности, как описано выше ...

wmic:root\cli>process list brief /format:htable > processlist.html 

Я получаю тег об ошибке: «Неверный формат XSL (или) имя файла.»

http://img209.imageshack.us/img209/5383/37tn.png

Здесь идет скриншот. Примечание. Я уже скопировал XSL-файлы из wbem в sys32 dir

Может кто-нибудь объяснить мне, почему эти 2 команды, которые для меня выглядят точно так же, с той лишь разницей, что одна выполняется вне среды wmic, а другая из внутри, последний не работает? Я просто не понимаю этого.

Просьба сообщить, что я могу понять это немного лучше! :-)

ответ

1

Вы пытаетесь использовать перенаправление CMD.EXE >, когда находитесь в интерактивном контексте WMIC. Это не сработает.

Вы можете использовать переключатель WMIC /output:filename в интерактивном режиме. Каждая последующая команда перезапишет вывод предыдущей команды. Вы можете получить несколько команд для перехода в один и тот же файл, используя вместо этого /append:filename. Вы можете сбросить выход обратно на стандартный вывод, используя /output:stdout.

/output:processlist.html 
process list brief /format:htable 
/output:stdout 
+0

Это, безусловно, правильный ответ. Спасибо dbenham :-) – Koliat

0

Вы пытались указать полный путь в вызове процесса wmic: root \ cli>? Мои ставки заключаются в том, что первый работал, потому что он выводит файл в текущий каталог.

+0

Просто испытания (на другой W7 машины) - вопрос тоже самое. Спасибо за ответ! – Koliat

+0

см. Эту ссылку ... http://technet.microsoft.com/en-us/library/cc757287(v=ws.10).aspx Они предлагают этот синтаксис: /FORMAT:"htable.xsl":"datatype= ":" sortby = ". Например, PROCESS GET /FORMAT:"htable.xsl":"datatype=number":"sortby=ProcessId ". – Jim

+0

Спасибо. Я попробую это скоро. Если это работает, все в порядке. Меня все еще удивляет, хотя для него требуется гораздо больше гимнастики, потому что формат по умолчанию для меня отлично подходит :-) – Koliat

2

Попробуйте

copy /y %WINDIR%\system32\wbem\en-US\*.xsl %WINDIR%\system32\ 

А потом

wmic:root\cli>process list brief /format:htable.xsl > processlist.html 

Обратите внимание на наличие расширения после "htable"