我正在尝试制作一个 WMIC 批处理文件来获取已安装软件的列表

我正在尝试制作一个 WMIC 批处理文件来获取已安装软件的列表

免责声明:我不是这方面的专家。我根据从其他脚本中看到的多个示例编写了此脚本。

我的目标是使用 WMIC 输出当前登录用户和基于 PC 列表的所有软件的 CSV 文件 (PCLIST.txt) 这是我目前所拥有的:

@echo off
FOR /f "tokens=1,2 delims= " %%a in (PCLIST.txt) do if exist "\\%%a\c$" (
WMIC /NODE: "%%a" COMPUTERSYSTEM GET USERNAME /format:csv >> ENVINV.csv
wmic /NODE: "%%a" Product get name, vendor /format:csv >> ENVINV.csv

  ) ELSE (
  @ECHO %%a does not exist.  Writing to text file.
  @ECHO %%a >>ENVINV-error.txt
  )

)

这是我得到的输出:

节点,用户名
CCOMPUTER1,CCHNL\用户名
节点,名称,供应商
CCOMPUTER1,Microsoft OneNote MUI (英语) 2016,Microsoft Corporation
CCOMPUTER1,Microsoft Office OSM MUI (英语) 2016,Microsoft
Corporation CCOMPUTER1,Microsoft Office Standard 2016,Microsoft
Corporation CCOMPUTER1,Microsoft Office OSM UX MUI (英语)
2016,Microsoft Corporation CCOMPUTER1,Microsoft Office Shared Setup
Metadata MUI (英语) 2016,Microsoft Corporation CCOMPUTER1,Microsoft
Excel MUI (英语) 2016,Microsoft Corporation CCOMPUTER1,Microsoft
Office Shared 64-bit Setup Metadata MUI (英语) 2016,Microsoft
Corporation CCOMPUTER1,Microsoft PowerPoint MUI (英语)
2016,Microsoft Corporation CCOMPUTER1,Microsoft Publisher MUI
(英语) 2016,Microsoft Corporation CCOMPUTER1,Microsoft Outlook MUI
(英语) 2016,微软公司


虽然可行,但如果执行以下操作,排序和查看会容易得多:

  1. 顶部没有空行
  2. 第一行只是“节点,名称,供应商”
  3. 每次循环 for 循环时,“Node”行都不会重复

谢谢!

相关内容