我是vbscript的新手。我正在努力通过注册表获取使用vbscript的所有程序的列表。我的问题是我想搜索两个路径"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
和CSV
“然后将其编译为一个const HKEY_LOCAL_MACHINE = &H80000002
Dim strComputer, strKeyPath,strKeyPath2
strComputer = "."
Sub Check_Installed(strKeyPath)
Dim objReg, strSubkey, arrSubkeys
Set objReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys
Dim objFSO, objCSVFile
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCSVFile = objFSO.CreateTextFile("Installed-Softwares_final.csv", _
ForWriting, True)
Dim Name,Version,Publisher,Location,Size
For Each strSubkey In arrSubkeys
objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey, "DisplayName" , Name
If Name <> "" Then
objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey, "DisplayVersion", Version
objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey, "Publisher",Publisher
objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath & strSubkey, "EstimatedSize" , Size
If Size <> "" Then
Size= Round(Size/1024, 3) & " MB"
Else
Size= "0 MB"
End If
objCSVFile.Write Name &","&Version&","&Publisher&","&Size
objCSVFile.Writeline ' New Line
End If
Next
End Sub
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strKeyPath2 = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\"
Check_Installed(strKeyPath)
Check_Installed(strKeyPath2)
WScript.Echo "Installed Softwares exported successfully into CSV file through Registry using VBScript."
WScript.Quit
。
这是我的代码:
body {
background-color: #eeeeee;
}
header {
text-align: center;
height: 80px;
width: 100%;
background-color: #eeeeee;
}
#stredovyObal {
margin-left: 10%;
margin-right: 10%;
width: 80%;
}
#container1 {
float:left;
width: 100%;
background:white;
position:relative;
}
#col1, #col2 {
padding: 15px;
box-sizing: border-box;
}
#col1 {
text-align: center;
float:left;
width: 25%;
position:relative;
}
#col2 {
text-align: justify;
float:left;
width: 75%;
position: relative;
background:yellow;
}
footer {
float: left;
width: 100%;
height: 1em;
background-color: #007501;
text-align: right;
color: white;
}
footer p {
text-align: right;
color: white;
font: bold;
font: fantasy;
}
答案 0 :(得分:1)
这是我的标准答案。使用/format:csv
进行CSV输出。
开始 - 所有程序 - 附件 - 右键单击命令提示符,然后选择以管理员身份运行。键入(或通过右键单击“命令提示符”窗口并选择“粘贴”进行复制和粘贴)。表格格式的类型
wmic /output:"%userprofile%\desktop\WindowsInstaller.html" product get /format:htable
或表格格式
wmic /output:"%userprofile%\desktop\WindowsInstaller.html" product get /format:hform
它将在桌面上创建一个html文件。
注意强>
这不是完整列表。这只是与Windows Installer一起安装的产品。一切都没有特色。
但正如我在上一篇文章中所述,几乎所有内容都列在注册表中。
所以要在命令提示符下看到它
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s
或在文件中
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s>"%userprofile%\desktop\WindowsUninstall.txt"
以不同的格式在记事本中查看
单击开始 - 所有程序 - 附件 - 右键单击命令提示符,然后选择以管理员身份运行。输入 Regedit 并导航至
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
右键单击“卸载”键,然后选择“导出”。如果您保存为reg文件(还有文本文件,它们的文本格式略有不同),您需要右键单击该文件并选择“编辑”进行查看。
查看Windows更新
wmic /output:"%userprofile%\desktop\WindowsUpdate.html" qfe get /format:htable
在VBS中也是如此(这意味着最好的方法是批处理)。
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Product")
For Each objItem in colItems
msgbox objItem.Name & " " & objItem.Version
Next