07-08-2015 02:54 PM
Option Explicit
Const ForWriting = 2
Const ForAppending = 8
Dim objFSO 'File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objTS 'Text Stream Object
Dim objWS 'WScript object
Dim Drive 'Parameter: drive to search in
Dim Filetype 'Parameter: file type to search for
Dim objFile 'file found
Dim query 'WMI query string
Dim searchstring 'files to search for
Dim path 'Parameter: path of files to be searched
Dim target 'Parameter: file location of output file
Dim targetfolder 'Folder of the output file
Dim arg 'script arguments
Dim drivesinfo 'search info string drives
Dim typesinfo 'search info string filetypes
Dim info 'search info text
Dim i 'counter
Dim starttime 'start time for duration
'Read script arguments
if wscript.arguments.Named.count > 0 then
if WScript.Arguments.Named("drive") <> "" Then
Drive = WScript.Arguments.Named("drive")
End If
if WScript.Arguments.Named("type") <> "" Then
Filetype = WScript.Arguments.Named("type")
End If
if WScript.Arguments.Named("path") <> "" Then
path = WScript.Arguments.Named("path")
If Left(path,1) <> "\" Then path = "\" & path
End If
if WScript.Arguments.Named("target") <> "" Then
target = WScript.Arguments.Named("target")
End If
End if
'Build search query
If Len(Drive) > 0 Then
searchstring = Drive & ":"
Else
searchstring = "c:"
End if
If Len(path) > 0 Then
searchstring = searchstring & path
if Right(searchstring,1) <> "\" then searchstring = searchstring & "\"
Else
searchstring = searchstring & "\"
End if
If Len(Filetype) > 0 Then
searchstring = searchstring & "*." & Filetype
Else
searchstring = searchstring & "*.*"
End if
'Define scan result target location and open file
If Not Len(target)>0 Then target = "C:\temp\LSfilesearch.txt"
targetfolder = Mid(target,1,InStrRev(target,"\"))
If Not objFSO.FolderExists(targetfolder) Then objFSO.CreateFolder(targetfolder)
Set objTS = objFSO.OpenTextFile(target, ForWriting, True)
'write file search parameters into result file
starttime = Now()
info = "Starting file search on drive "
If Len(drive)>0 Then info = info & drive & ":" else info = info & "c:"
If Len(Filetype)>0 Then info = info & " for file type " & Filetype
If Len(path)>0 then info = info & " under path """ & path & """"
objTS.WriteLine(info & vbCrLf & "---")
objTS.Close()
'Execute search
query = """%comspec%"" /e:4096 /s /c dir /s "
if LCase(WScript.Arguments.Named("bare")) = "true" Then query = query & "/b"
query = query & "/o """ & searchstring & """ >> " & target
Set objWS = CreateObject("Wscript.Shell")
objWS.Run query, 0, True
Set objTS = objFSO.OpenTextFile(target, ForAppending, False)
objTS.WriteLine("---" & vbCrLf & "Search completed in " & _
Datediff("s",starttime,now()) & " seconds")
objTS.Close()
WScript.Quit 0
03-18-2016 03:05 PM
Starting file search on drive d: for file type pst
---
Volume in drive D is New Volume
Volume Serial Number is ***********
Directory of d:\
16.03.2016 18:28 4я082 test.pst
1 File(s) 4я082 bytes
Directory of d:\$RECYCLE.BIN\S-1-5-21-2849041822-3509271814-4006248400-4254
17.03.2016 15:32 544 $IFQZIJV.pst
17.03.2016 15:08 0 $RFQZIJV.pst
2 File(s) 544 bytes
Directory of d:\pst_search
16.03.2016 18:28 4я082 test.pst
1 File(s) 4я082 bytes
Total Files Listed:
4 File(s) 8я708 bytes
0 Dir(s) 107я247я927я296 bytes free
---
Search completed in 0 seconds
11-02-2015 05:05 PM
10-30-2015 06:20 PM
10-29-2015 12:51 PM
10-06-2015 10:19 PM
10-05-2015 01:34 PM
10-03-2015 12:00 AM
08-11-2015 09:39 AM
Dim objShell
Dim objShellEnvironment
Dim computername 'name of the computer the script is executed on
set objShell = WScript.CreateObject("WScript.Shell")
set objShellEnvironment = objShell.Environment("Process")
computerName = objShellEnvironment("ComputerName")
'Define scan result target location and open file
If Not Len(target)>0 Then target = "C:\temp\LSfilesearch.txt"
target = Left(target, Len(target)-4) & "_" & computername & ".txt"
08-11-2015 03:23 AM
Experience Lansweeper with your own data. Sign up now for a 14-day free trial.
Try Now