I am looking for some examples of a .bat OR .wsh script that can do the following:
- Recursively read file names in a directory with a user-provided extension (.dll, .exe, etc)
- Search a user-provided directory for the above file names
- Generate a txt or xls report of the findings, like: x.txt was found in "C:\temp", "C:\blah"
TIA.
EDIT:
Oops, I should clarify: there are two directories and two searches here.
Search 1:
- Search a user provided directory "Dir 1" for all *.dll's.
Search 2:
- Search a different user provided directory "Dir 2" for the file names generated in Search 1. This search also needs to be recursive.
So, if Search 1 finds foo.dll, foo2.dll and foo3.dll in Dir 1, Search 2 should look in Dir 2 for foo.dll, foo2.dll and foo3.dll, and provide a report (simple listing) of each found file.
I would study Robocopy to see if this could help (the /L flag is a clue).
Put the following in a .bat file, say
FindAll.bat
:%1
is the user provided file mask.%2
is the user provided directory to search first.%3
is the user provided directory to search second.Call from the command line to generate a report:
The
<nul (set /p)
trick will output text to the console without a new line (courtesy Pax from this thread: How to code a spinner for waiting processes in a Batch file?)The
2>&1
added when calling the batch file is needed to capture all the output to the file (courtesy aphoria from this thread: Underused features of Windows batch files)Why not use dir?
Search current directory and all subdirs for dlls
Search all of C for dlls
Save a report