hobbyonline 2016-02-20 01:22 采纳率: 0%
浏览 734

微软 wmic 命令问题 !求助!

发现一个问题,wmic 语句写在bat文件里,然后双击bat执行的结果和直接在cmd里敲入wmic语句执行的结果不一样。(排除敲入错误)

有没有熟悉的朋友,怎么解呢?
不了解的,请勿复制粘贴!

例如:

WMIC /output:c:\NTEVENT.csv NTEVENT WHERE "LogFile = 'System' and Message like '%有一个不正确的区块%'" GET LogFile, SourceName, EventType, Message, TimeGenerated /FORMAT:"CSV"

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 00:42
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于Windows Management Instrumentation (WMI)命令的输出格式不同导致的。WMI命令的输出格式可以由用户自定义,所以如果你想要查看特定的数据结构,你可能需要使用不同的输出格式。

    以下是一个简单的示例,展示了如何使用WMIC命令来获取特定的信息,并将结果保存到一个文本文件中:

    @echo off
    
    set outputFormat=XML
    set outputFileName=c:\NTEVENT.xml
    
    wmic /format:%outputFormat% /output:csv NTEVENT WHERE "LogFile = 'System' and Message like '%有一个不正确的区块%'"
    

    在这个例子中,我们首先设置了输出格式为"XML",然后设置了一个名为"c:\NTEVENT.xml"的输出文件名。这将会将所有符合指定条件的事件记录保存到这个文件中。

    如果你想改变输出格式或输出文件名,你可以修改上面的set outputFormat=set outputFileName=变量。例如,如果你想将数据以JSON格式输出并将其保存到"C:\temp\events.json",你可以这样修改:

    @echo off
    
    set outputFormat=JSON
    set outputFileName=C:\temp\events.json
    
    wmic /format:%outputFormat% /output:json NTEVENT WHERE "LogFile = 'System' and Message like '%有一个不正确的区块%'"
    

    请注意,你需要将上述代码中的路径替换为你实际想要使用的路径。此外,你也应该确保你的批处理脚本具有适当的权限来访问这些文件夹和文件。

    评论

报告相同问题?