如何将 WMI 查询的所有行导出到文件?

发布于 2024-10-20 13:42:14 字数 147 浏览 0 评论 0原文

给定一个查询,例如

SELECT * FROM WIN32_PROCESS
  1. 是否有一种方法可以询问结果对象以获取返回的列的名称?
  2. 将结果对象中的所有行写入文本文件,例如

Given a query such as

SELECT * FROM WIN32_PROCESS
  1. Is there a way to interrogate the result object for the names of the columns returned?
  2. Write all the rows in the result object to a text file, say

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫七 2024-10-27 13:42:14

有没有办法询问结果对象以获取返回列的名称?

是的。每个 WMI 对象都有 Properties_ 集合提供有关该对象属性的信息。要获取对象中可用属性的名称,请枚举 Properties_ 集合并检查每个项目的 Name

将结果对象中的所有行写入文本文件,例如

枚举所有行并使用 FileSystemObject写入它们 到所需的文本文件。伪代码:

create a text file and open it for writing

for each object in the result set
  for each property in the object
    write the property value to the file

close the file

或者,您可以使用 wmic 来为您做所有工作:

wmic /output:e:\processes.txt process get /all
wmic /output:e:\processes.csv process get /all /format:csv

Is there a way to interrogate the result object for the names of the columns returned?

Yes. Each WMI object has the Properties_ collection that provides information about that object's properties. To get the names of properties available in an object, enumerate the Properties_ collection and check each item's Name.

Write all the rows in the result object to a text file, say

Enumerate all the rows and use the FileSystemObject to write them to the desired text file. Pseudocode:

create a text file and open it for writing

for each object in the result set
  for each property in the object
    write the property value to the file

close the file

Alternatively, you could use wmic to do all the work for you:

wmic /output:e:\processes.txt process get /all
wmic /output:e:\processes.csv process get /all /format:csv
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文