
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2015 02:54 PM
PLEASE NOTE: This script uses a standard DOS file search command. However, it might strongly influence the performance of target computers. This depends on the parameters you are using and other circumstances which we have no influence on.
Following parameters can be given to the script in step 3:
/drive: (i.e. /drive:d ) - drive to search on (default will be c)
/type: (i.e. /type:exe ) - file type to search for (without this parameter, it lists all files)
/path: (i.e. /path:"\Program Files (x86)\" ) - folder to search in (incl. subfolders)
/target: (i.e. /target:"C:\LS\filesearch_output.txt" ) - output file target
/bare: (i.e. /bare:true ) - output file in bare list format without details
Create a new file on your package share under folder Scripts, name it "filesearch_dos.vbs" and fill it in an editor with the following code:
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
- Labels:
-
Deployment Packages

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-18-2016 03:05 PM
While using this script i was facing such issue: generated report contains unreadable characters, like next:
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
what's the problem, and how can i fix it?
Thank you for your script!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2015 05:05 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-30-2015 06:20 PM
/type:"exe" /target:"c:\LS\filesearch_result.txt" /exclude:"Windows\"
Note: You need to change the file type of the attached file from txt to vbs, or just copy the code to your existing script.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2015 12:51 PM
could you edit this script with possibility to exclude some directory.
Thanks


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-06-2015 10:19 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2015 01:34 PM

Keep in mind that if you are using a network share (anything other than {PackageShare}) as target, you need to deploy the package under a user account which has write access to that share.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-03-2015 12:00 AM
set objShellEnvironment = objShell.Environment("Process")
Variable is undefined: 'objShellEnvironment'

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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")
Then after these lines in the existing script
'Define scan result target location and open file
If Not Len(target)>0 Then target = "C:\temp\LSfilesearch.txt"
add the following line:
target = Left(target, Len(target)-4) & "_" & computername & ".txt"

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-11-2015 03:23 AM
Is there any way to use the computer name as a variable in the output file name?
ie
Target:\\NAS\Share\%PC_NAME%.SearchResult.txt ?
Cheers,
