home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
dirutl
/
ff211.arc
/
FFDOC.DOC
< prev
Wrap
Text File
|
1990-01-04
|
17KB
|
340 lines
FF.COM
Version 2.11
Copyright 1990 by Keith P. Graham
FF.COM is a "whereis" type of program which is useful for
searching large hard disk drives for files. I have taken the idea
forward another step by adding options to search any number of
drives, create a batch file of the found files and to delete all
found files or delete on a prompt. FF.COM is easily expanded
and I am adding options as fast as they are suggested
FF.COM can find files on any disk on your system from A: to Z:
by entering:
FF file-pattern A: B: C: etc.
where FF is the FF.COM command. FF.COM must be in the current
directory or the path must be set so that FF.COM is on the current
path. You may rename ff.com to any other valid dos name as long as
it has the file extension of .COM.
File-pattern is a DOS file specification. It can be the name of
the file that you are looking for. It cannot include disk or paths in
the file pattern, but the pattern can contain DOS wild card characters
(* and ?). You must have a file-pattern or FF.COM will not be able to
find anything.
If the file-pattern begins with the @ character then FF
will look for a file with the name matching file-pattern. In this
case, there can be no wild cards in file-pattern. File contains
instead a list of file patterns to be searched out. The format
of the file list is that each line of the file must have a
valid file name or pattern ending with a space or a carriage
return. Letters after the first space in a line are ignored.
Lines begining with a space are ignored. This file, then, can
be a BBS directory listing!
A: B: C: etc. are disk drives. You may put one disk drive or
many disk drives. They can be in any order, they can even repeat,
but they must be real disk drives and if you choose to search a
floppy diskette the diskette must be in and the drive closed or you
will get an "Abort, Retry, Ignore" message. Unlike older versions
you must have a space between drives. If you wish to search
starting at a certain subdirectory of a disk drive then enter
the disk and path name for each directory to search.
If you leave off the drive letter, FF will search only the
current drive. If you have many drives and want to search them
almost all the time you can include an environmental variable to
tell FF where to search. By entering SET FF=A: B: C: D:, you have
told FF where to search whenever you leave the disk drive letter
off of the command line. You can put the SET FF=... into your
autoexec.bat file. You now need spaces between the drive
letters. You may prefer to use the /E option (see below).
HINT: Since you can specify any drive you can search many floppies
by entering:
FF file-pattern a: b: a: b: a: b:
while the machine is searching a: you can put a diskette in b: and
while the machine is searching b: you can put a diskette in a:
and keep swapping while the program is searching. You must be fast
and you will have to press the "R" to retry from time to time.
If, while FF is working, you need to break out, there
are two methods that you can use. Pressing Ctrl-Break will stop
FF and ask you you if you want to discontinue the search. If you are
using the /X switch to execute programs, DOS and the programs
may reassign Ctrl-Break for their own purposes and make it hard
or impossible to break out. The second method of breaking out
of FF is to press a shift key and either the Alt or the Ctrl key
at the same time. Press shift and Alt or press shift and Ctrl and
hold them down until FF gives up and returns to the DOS prompt.
This may not be immediately. FF does not always stop to look for
keystrokes.
The slash options (called switches) allow you to do several
things while you are searching for a file.
Here is a list of all switches and what they do:
The /A option includes .ARC and .ZIP files in the search.
FF will look inside .ARC and .ZIP files for the file.
The /B option will write out a FFOUND.BAT with the
the name of the found file and %1 %2 %3 %4 DOS batch variables
so that you can use ff to initiate more complicated actions.
The format of FFOUND.BAT is:
%1 disk:\path\filename %2 %3 %4
If you wanted to copy all the .OBJ files on a hard disk to a floppy
you would enter:
FF *.OBJ c: /B
FFOUND copy a:
The /C option turns off Ctrl-Break to speed things up.
This will make it difficult to change your mind in case of
an emergency.
/D allows you to delete all the files you find.
WARNING!!! WARNING!!!
YOU CAN DELETE ALL THE FILES ON A HARD
DISK WITH GREAT EASE!!!
WARNING!!! WARNING!!!
FF *.* c: /D will kill a disk before you know it.
I use this option to get rid of .BAK files and .PRF files on my
hard disk. I enter:
FF *.BAK c: d: /d
FF *.PRF c: d: /d
For those with weak hearts I have added the /P option which
gives a prompt before deleting the file. Pressing the Return will
delete the file. The Esc key will bypass the file and Ctrl-Break
will get you out of FF.COM entirely.
The /E option automatically searches all drives
starting at C:. This is for people with multiple drives
who don't want to search the floppies.
The /F option searches ONLY the directory specified. This
bypasses a search for subdirectories. This is the fastest option
to use when there is a known search path.
To use the /F option you specify directories instead of
disks. for instance if you needed to search the \u1 and \u2
subdirectories on disk d: you would enter:
FF *.* /F d:\u1 d:\u2
you can place the directory list in an @ file. BBS sysops
with large disk areas can limit their searches by placing
all of the BBS dirs in a file named, for example, search.dat
and then do a fast find using this search data by entering
FF xyz.zip /f @search.dat. They might want to have a bat
file with the line:
FF %1 /f/c/o @c:\utils\search.dat
this will allow them to search their large disk areas very
quickly for one file.
The /G option is for searching for strings within a
a file. This is a very simple search which will match a
string in the found file. When a match is found the
entire line containing the string is printed out. The
format for this is:
FF filespec /GxSTRINGx
where x can be any character as long as it is not included
in the string for example:
ff *.doc /g"graphics"
will look for the word "graphics" in all the DOC files.
The " " are used by FF to delineate the beginning and end
of the string. You can use any character including the space
character. I always use single quotes as in ff *.* /g'string'.
I used the /G option after GREP although this has little
in common with that powerful program. It also gives me the
opportunity to include G_STRING as a label in the MASM code.
The string match is not case sensitive.
Use the /H option if you want to find files which may
be hidden or system files. These files don't normally appear
in most searches and directories.
The /I option searches files whose date and time stamp
is greater than or equal to a date. The date is 6 decimal
digits immediately following the /I in MMDDYY format.
The /J option will allow you to jump to the disk and
sub directory of the found file. When it finds a file FF will
ask you if you would like to jump to the file. If you answer
"Y" then the program will jump to the disk and directory and
exit the program. If you enter "N" then FF will continue its
search.
The /K option searches only for files which have not
been backed up using the DOS BACKUP utility of equivalent.
The /Lnn option will list only files changed in the last
nn days. nn must be two decimal digits such as 99 or
03. /L04 will list files less than or equal to 4 days old.
There is no correction for leap year, but this will work
after the year 2000. /L00 will list only the current day's
files.
/N makes FF use 13 byte directory names. One way to speed
up FF is to use only 8 byte directory names. If you have long
directory names then youm must use the /N in order search
all directories.
The /O option is used when you are only looking
for one file. /O will cause ff to stop after the first find.
This prevents FF from continuing a long search when
only one file is wanted. When the @file option is used this
will find one matching file for each line of the file list.
The /P option is like the /D option but it offers the
chance to change you mind before each delete. If you choose
/P and /D, only the /P will be in effect. In earlier versions
it was possible to be asked if you wanted to delete a file
and then the file would be deleted anyway.
The /S limits search to hidden and system files only.
The /D and /P options will not delete these files, although
they will try.
The /T option lets you follow the search. It traces the
subdirectories as they are searched.
The /U = option turns FF into a fancy DIR command.
FF will only search the current directory on the current disk.
The /V option gives filesize and creation date and time.
For ARC files it follows that with the original file size.
The /W option waits every 23 lines for a keystroke.
/X means execute a dos command. There are two forms of
this command. The first will add a file name after a command.
For instance to copy all found files to the current directory
enter:
ff T1*.CBL /x'copy'
This will do a ff search looking for t1*.cbl and any it finds
it will execute the copy command. The command follows the
/X and must be surrounded by a delimiter such as single or
double quotes.
The second form of the /X switch uses the & character and
a number in order to imbed part part or all of a file name
into a command line. &1 = complete disk, path and name of file.
(examples: G:\WP50\TEXT\OPTIKS.DOC or C:\UTILS\FF.COM)
&2 = disk (such as A: or D:). &3 = path (\WP50\TEXT\ or
\UTILS\ or \ ). &4 = filename.ext (such as OPTIKS.DOC or
FF.COM). &5 = filename only (OPTIKS or FF). &6 = extension
(eg. .COM or .DOC).
To rename all found files to .BAK you would enter:
ff *.txt /x'rename &1 *.&5'
Or to copy all found files to the A: disk
ff *.bak /x'copy &1 a:'
If there is no & on the command line then the &1 form of
the file name is appended to the end to the string enclosed
in quotes.
The /Z option is like /A except it searches ONLY .ARC
and .ZIP files for the matching file.
The /? option prints out a list of all the switches and options.
For those of you with 20 disks that you want searched, the
environmental variable FF= can be set to the disks you want
to search. This will save you the trouble of having to enter
the whole list of disks. FF will look in the environment for
FF=A:C:X: etc. and if it finds an entry then it will use it.
If you enter a disk drive list it will use the entered list
instead. If you enter no disk drive list and there is no
FF= in the environment then FF will search only the current
default drive.
NOTE: The SET FF= command to set the drives to be searched
must be in all capital letters. You must use spaces between
the drive letters. Previous versions alllowed you to leave
them out. The colon after each drive letter is required.
Charlie Innusa needs to search drives c: though t:, but
doesn't want to waste room in the environment so the /E switch
gives him the ability to start at drive c: and start searching
alphabetically until drive z:.
For the /A and /V options there are conflicts with some
of the other options. When you are searching an ARC, certain
switches will be ignored. The /D and /P switches will not
be effective as it is unreasonable to ask FF to delete files
from archives. This is the area of expertise of the ARC
utility writers. When the /A or /Z option is set and FF
finds a matching file in an ARC it will write out the ARC name
as the second variable and the arc file name as the third
variable in the FFOUND.BAT.
Four of my friends now use FF.COM and each of them had
to rename the program because they already had a FF Batch file
which echoed the form feed character to the printer. FF for
them stood for Form Feed. (I use EJECT.BAT because I do alot
of Dbase.) Since 100% of my known ff users had to rename the
program, I assume that many others did also so I changed the
program to issue a form feed when there are no parameters or
options following the FF command. Now my users can use FF to
find files or issue form feeds. If you want to Form Feed out
lpt2 then enter FF/2.
FF.COM needs about 90k to run. I named it FF for "Fast Find"
hoping to make it faster than the vintage 1984 WHEREIS.COM. It's
not very much faster. Both programs use the DOS find functions
to locate files and directories. Phil Katz PKFIND is a little slower
but has different options. I use my program, not so much to find
files, but to clean up disks, and manipulate files which tend to
get spread around the directories on my hard disks.
I have recently found out that Peter Norton also has
written a version of Whereis which he also calls FF. The name
is pure coincedence. I had not seen Norton's program when I
wrote mine. (His does not have all of the options mine does.)
By the way, I did not write the original WHEREIS. I first
saw WHEREIS in a magazine around 1983. I rewrote it for my
personal use and users of the Champion BBS may have dloaded
my version. There are many whereis programs, but the success of
FF.COM shows that there is still a demand for new tricks for
old dogs.
This is a free program as long as it is not changed and it
is distributed along with the documentation. Please do not upload
it to PC-Rockland, thats where it came from. If you need to get
in touch with me with complaints or suggestions I can be reached
at PC-Rockland (914) 353-2157.
If you think its worth $5.00 you may feel free to send a
check, but do not feel obligated. For users who register for
more than $25.00 worth of my shareware I will ship a disk of
selected programs. I generally do not mail disks out so do not
send $5.00 expecting to get anything. For those who wish to
receive a disk of my shareware, but who do not think its worth
$25.00 you can call Nelson Ford's Public (Software) Library
at (713) 665 7017 (voice line). PSL is more than a Shareware
disk house. He maintains the very best and most recent versions
of Freeware and Shareware. Most disk copying companies have
software thats years out of date. Nelson Ford is a well respected
name in software and is the only Shareware distributer that
I have authorized to carry my programs.
Keith P. Graham