我正在尝试从多台计算机中收集程序列表并将它们放在一个文本文件中。当我使用下面的代码时,我得到一个奇怪的文本而不是空格,并将计算机名称附加到我的文本文件中。代码的代码和输出如下。奇怪的文本在输出的最开始,然后附加一个程序列表。任何帮助将不胜感激。
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo. >> C:\Users\Jerry\Desktop\programs.txt
echo %computername% >> C:\Users\Jerry\Desktop\programs.txt
wmic product get name,version >>"C:\Users\Jerry\Desktop\programs.txt
输出:
ഠഠഠ䨊剅倭倭倭倭名Version⁃⁃
VirtualDJ LE(Numark)7.0.5
安全下载管理器3.1.60
Python 3.4.1(64位)3.4.1150
Microsoft DCF MUI(英语)2013 15.0.4569.1506
Microsoft Office Professional Plus 2013 15.0.4569.1506
Microsoft OneNote MUI(英语)2013 15.0.4569.1506
Microsoft Office 32位组件2013 15.0.4569.1506
Microsoft Office共享32位MUI(英语)2013 15.0.4569.1506
Microsoft Office OSM MUI(英语)2013 15.0.4569.1506
Microsoft Office OSM UX MUI(英语)2013 15.0.4569.1506
Microsoft InfoPath MUI(英语)2013 15.0.4569.1506
Microsoft Access MUI(英语)2013 15.0.4569.1506
Microsoft Office共享设置元数据MUI(英语)2013 15.0.4569.1506
Microsoft Excel MUI(英语)2013 15.0.4569.1506
Microsoft Access安装元数据MUI(英语)2013 15.0.4569.1506
Microsoft PowerPoint MUI(英语)2013 15.0.4569.1506
Microsoft Publisher MUI(英语)2013 15.0.4569.1506
Microsoft Outlook MUI(英语)2013 15.0.4569.1506
Microsoft Groove MUI(英语)2013 15.0.4569.1506
Microsoft Word MUI(英语)2013 15.0.4569.1506
Microsoft Lync MUI(英语)2013 15.0.4569.1506
Microsoft Office Proofing(英语)2013 15.0.4569.1506
Microsoft Office Shared MUI(英语)2013 15.0.4569.1506
Microsoft Office校对工具2013 - 英语15.0.4569.1506
Microsoft Office校对工具2013 - Español15.0.4569.1506
Outilsdevérificationlinguistique2013 de Microsoft Office - Français15.0.4569.1506
Visual Studio 2008 x64 Redistributables 10.0.0.2
Visual Studio 2012 x64 Redistributables 14.0.0.1
WinZip 18.0 18.0.10661
Microsoft Visual C ++ 2010 x64可再发行 - 10.0.40219 10.0.40219
Microsoft Visual C ++ 2005 Redistributable(x64)8.0.61000
ActiveState Komodo IDE 8.5.3 8.5.3
答案 0 :(得分:0)
您正在使用
在文本文件中添加空行echo. >> C:\Users\Jerry\Desktop\programs.txt
为什么?但是如果您可以忽略这些空格并且计算机名称出现在第一行,则可以使用此解决方案。
wmic的输出格式很奇怪,它充满了空行,空值和空格。最好的方法是通过指定格式和输出文件来做一点点不同。
这将使wmic输出在“外来系统”上工作(cmd行和非拉丁语ascii东西很糟糕)
wmic /output:C:\temp\programs.txt product get name,version /format:csv
或
wmic /output:C:\temp\programs_%computername%.txt product get name,version /format:csv
这将为您提供一个包含计算机名称的文件。
计算机名称出现乱码,就像在非美国系统上一样。
您可以使用cmd行的代码页,或者只是创建放置在空格中的文本文件。然后在cmd行中复制该文件,然后输出到该文件。在某些配置中,您可以通过使用该方法避免分配麻烦,因为您可以获得正确的BOM表头和编码。
有关详细信息,请查看:Kung Fu with WMIC 哪些内容提供了良好的提示和提示,格式请参见article