VBA 使用 WQL 查找目录中所有隐藏文件夹并将其存储在 xml 文件中的代码
VBA code to find all hidden folders in directory with WQL and store it in xml file
我现在设法获取了所有隐藏文件夹,唯一的问题是将有关它的所有信息存储到 xml 文件中。
谁能帮我解决这个问题?
Dim xdoc
Function CreateFolders(objFile)
Dim elem
Dim attr
set elem = xdoc.createElement("Folders")
set attr = xdoc.createAttribute("Description")
attr.value = objFile.Description
elem.setAttributeNode attr
set CreateFolders = elem
End Function
Dim FilePath
Dim objFile
Dim root
Dim elem, elem1
Set xdoc = CreateObject("MSXML2.DOMDocument.6.0")
xdoc.appendChild xdoc.createProcessingInstruction ("xml", "version=""1.0"" encoding=""utf-8""")
FilePath = "C:\Users\User\Downloads\M.xml"
set root = xdoc.createElement("Folders")
xdoc.appendChild root
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from Win32_Directory Hidden = True")
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
提前感谢您抽出时间。
这是我找到的解决方案。可能会在将来帮助某人
Dim xdoc
Function CreateFolders(objFile)
Dim elem
Dim attr
set elem = xdoc.createElement("Folder")
set attr = xdoc.createAttribute("Description")
attr.value = objFile.Description
elem.setAttributeNode attr
set CreateFolders = elem
End Function
Dim FilePath
Dim objFile
Dim root
Dim elem, elem1
Set xdoc = CreateObject("MSXML2.DOMDocument.6.0")
xdoc.appendChild xdoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""utf-8""")
FilePath = "C:\Users\User\Downloads\My.xml"
set root = xdoc.createElement("Folders")
xdoc.appendChild root
Wscript.Echo "Stage 1 Done"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from Win32_Directory Where Hidden = True")
Wscript.Echo "Stage 2 Done"
For Each objFile in colFiles
set elem = CreateFolders(objFile)
root.appendChild elem
Next
Wscript.Echo "Stage 3 Done"
xdoc.Save FilePath
我现在设法获取了所有隐藏文件夹,唯一的问题是将有关它的所有信息存储到 xml 文件中。 谁能帮我解决这个问题?
Dim xdoc
Function CreateFolders(objFile)
Dim elem
Dim attr
set elem = xdoc.createElement("Folders")
set attr = xdoc.createAttribute("Description")
attr.value = objFile.Description
elem.setAttributeNode attr
set CreateFolders = elem
End Function
Dim FilePath
Dim objFile
Dim root
Dim elem, elem1
Set xdoc = CreateObject("MSXML2.DOMDocument.6.0")
xdoc.appendChild xdoc.createProcessingInstruction ("xml", "version=""1.0"" encoding=""utf-8""")
FilePath = "C:\Users\User\Downloads\M.xml"
set root = xdoc.createElement("Folders")
xdoc.appendChild root
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from Win32_Directory Hidden = True")
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
提前感谢您抽出时间。
这是我找到的解决方案。可能会在将来帮助某人
Dim xdoc
Function CreateFolders(objFile)
Dim elem
Dim attr
set elem = xdoc.createElement("Folder")
set attr = xdoc.createAttribute("Description")
attr.value = objFile.Description
elem.setAttributeNode attr
set CreateFolders = elem
End Function
Dim FilePath
Dim objFile
Dim root
Dim elem, elem1
Set xdoc = CreateObject("MSXML2.DOMDocument.6.0")
xdoc.appendChild xdoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""utf-8""")
FilePath = "C:\Users\User\Downloads\My.xml"
set root = xdoc.createElement("Folders")
xdoc.appendChild root
Wscript.Echo "Stage 1 Done"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from Win32_Directory Where Hidden = True")
Wscript.Echo "Stage 2 Done"
For Each objFile in colFiles
set elem = CreateFolders(objFile)
root.appendChild elem
Next
Wscript.Echo "Stage 3 Done"
xdoc.Save FilePath