El otro dia navegando por la web vi este programa no lo estudie a ver como funciona pero despues cuando pueda lo voy a hacer, sirve para buscar archivos miralo ahi te dejo el code y la explicacion.
:: LOC.bat
:: Locates Specified File Name
:: Searches from the Root or Current Directory & Below
:: Can Also Search a Specified Drive
:: Wildcards may be Used in File Name
::
:: Use `/S' to Search Current Directory & Below
::
@ECHO OFF
SET XSET=/UPPER
C:\DOS\XSET PARAMETER=%1
IF "%PARAMETER%" == "ALL" GOTO ALL-DRIVE
IF "%PARAMETER%" == "C" GOTO SPEC-DRIVE
IF "%PARAMETER%" == "D" GOTO SPEC-DRIVE
IF "%PARAMETER%" == "E" GOTO SPEC-DRIVE
IF "%PARAMETER%" == "/S" GOTO CURRENT
IF NOT "%PARAMETER%" == "/S" GOTO ROOT
:ALL-DRIVE
ECHO.
ECHO Searching all Drives for " %2 "
ECHO.
FOR %%D IN (C: D: E:) DO DIR %%D\%2 /B /P /S
GOTO END
:SPEC-DRIVE
ECHO.
ECHO Searching Drive %PARAMETER%: for " %2 "
ECHO.
DIR %1:\%2 /B /P /S
GOTO END
:CURRENT
XSET CUR-DIRECTORY DIR
ECHO.
ECHO Searching %CUR-DIRECTORY% & Below for " %2 "
ECHO.
DIR %2 /B /P /S
GOTO END
:ROOT
ECHO.
ECHO Searching Current Drive for " %1 "
ECHO.
DIR \%1 /B /P /S
:END
ECHO.
SET XSET=
SET PARAMETER=
SET CUR-DIRECTORY=
Explanation This begins by using XSET to make any command line parameters be passed to the batch file as upper case. This is to eliminate additional "IF" statements having to be used to cover lower-case entries. This technique was seen and explained earlier on this page in DRT.bat.
The "IF" statements determine if you entered "ALL", a drive letter, a dot, or just a file name after the batch file name. If you enter "ALL", the "ALL-DRIVE" section comes into play. A message is placed on screen saying that all drives are being searched for the specified file. This section uses a FOR-IN-DO command to have DIR search for your file on each drive listed, from its root directory on down. It essentially says: "FOR each Directory listed INside the Brackets, DO a DIR listing for each of those Directories using the succeeding parameters and switches".
A blank line is placed on screen as a separator via the "ECHO." in the preceding line, and then FOR-IN-DO has the DOS DIR command display any matches in a "Bare" format via the "/B". That means just the file and its path are seen. If the screen fills, DIR's "/P" parameter will pause after each screen full. This is done for each drive listed.
However, if a specific drive letter was typed, the batch file branches to the "SPEC-DRIVE" section and displays, as above, any matching files found. If you have more or fewer drives, add or eliminate the drive "IF" statements, as necessary. Do the same for the drive letters listed inside the FOR-IN-DO brackets.
Now, if "/S" was typed, only the current directory and below will be searched. If only a file name is typed, all of the current drive will be searched. In all cases, a message will tell you what is being searched and for what file, and the matching file(s) will displayed with a blank line above and the file with a path name will be shown.
Usage Simply type "LOC (file name)" to start a search of the current drive. If you wish to search another directory on the same drive from the one in which you are currently, enter its path without a backslash. Thus, if you are in C:\BATCH and wish to search C:\UTIL\ZIP, enter "LOC UTIL\ZIP\(file name)".
Use a drive letter (with no colon) and the entire named drive will be searched. To search a sub-directory of that drive, use the directory path without a backslash. So if you were on the `E' drive, to locate all the .pcx files in your graphics directory and its subdirectories on the `C' drive, type "LOC C GRAPHICS\*.PCX". Be sure to have a space on either side of the drive letter.
To search only the current directory and below, use "/S" as the first command line parameter. For the .pcx example, type "LOC /S *.PCX". Use "ALL" as a parameter to search every directory on every drive.
Wildcards may be used if you want a range of files or can't remember the full name. Thus, typing "LOC ALL READ-ME.TXT" would find all such files anywhere within the drives you specified in the batch file. Similarity, typing "LOC ALL READ*.*" will find any file starting with "READ". If you are in any subdirectory and wish to locate such files just on the current drive, simply type "LOC READ*.*". With no parameters other than a file name, LOC.bat will always search the current drive in full.
If you see the file you want and wish to stop the search, enter "CONTROL-C". Be sure to set BREAK to "ON" in your AUTOEXEC.bat so that DOS will stop immediately. If it is off, DOS will take longer to stop the search.
XSET may be obtained from -xset.tripod.com.
Fuente:
http://www.chebucto.ns.ca/~ak621/DOS/BatBasic.html#Basics