1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| Option Explicit
Call ShowFilesLotus
Private Sub ShowFilesLotus()
Const HARD_DISK = 3
Dim objWMIService, colDisks, colFiles
Dim objDico, objTabExt, objDisk, objFile
Dim wshShell
Dim strComputer, i
Dim cles, strList
Dim ObjRapport, ObjFilerapport
Const ForWriting = 2, ForAppending = 8
strComputer = "."
objTabExt = "nsf"
Set wshShell = Wscript.CreateObject ("Wscript.Shell")
Set ObjRapport = CreateObject("Scripting.FileSystemObject" )
Set ObjFileRapport = ObjRapport.OpenTextFile("c:\Lotus.txt",
ForAppending, True)
Set objDico = CreateObject("Scripting.Dictionary")
objDico.CompareMode = VBBinaryCompare
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK &
"")
For Each objDisk in colDisks
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Drive = '" &_
objDisk.Name & "' And Extension = '" & objTabExt &"'")
For Each objFile in colFiles
'
'
If Mid(LCase(objFile.Path),2, 13) <> "program files" And _
Mid(LCase(objFile.Path),2, 7) <> "windows" Then
objDico.Add objFile.Name ,""
End if
Next
Next
Set colFiles = Nothing
Set colDisks = Nothing
Set objWMIService = Nothing
cles = objDico.Keys
For i = 0 To objDico.Count-1
ObjFileRapport.Writeline wshShell.ExpandEnvironmentStrings
("%COMPUTERNAME%") _
&vbTab& cles(i) &vbCr
Next
ObjFileRapport.WriteBlankLines(2)
ObjFileRapport.close
Set objDico = Nothing
Set wshShell = Nothing
End Sub |
Partager