[comp.binaries.ibm.pc] v01i054: s-tool, Magnuson's wildcard expansion utility

thaler@speedy.cs.wisc.edu (Maurice Thaler) (12/15/88)

Posting-number: Volume 01 Issue 054
Originally-from: Robert A. Magnuson, author <no email address>
Submitted-by: thaler@speedy.cs.wisc.edu (Maurice Thaler)
Archive-name: s-tool/s-tool.uue

Several people on the net have been complaining about wildcard
expansion.  I have been using this little utility for a while and it
does an adequate job in most cases.  If called without an argument, it
self documents.  This should help MSDOS users who are used to UN*X.

[
...Another zoo submission converted to arc.

This one, actually called just "S", is written by Robert A. Magnuson.
Invoking without parameters yields a pretty neat help screen, complete
with a "railroad track" syntax diagram.  It has a few nifty features;
for example:

     s /p edit \doc\*.doc

puts you in "pick" mode.  The utility will list all filenames matching
*.doc and let you type y or n to pick or not pick.  The picked
parameters will then be supplied to the invoked command (which in this
example is "edit").  Other options include the ability to substitute
any environment variable, current disk, current directory, date, and
time in the command line;  ability to match directory names instead of
file names;  and the ability to supply just the first matching filename
instead of the whole list.

Bugs:

1.   If your switchar is set to something other than a slash, all hell
occasionally breaks loose.  If you're lucky you just see the notorious
"specified COMMAND search directory bad" message.  If you're unlucky
you need a reboot.  Given that this utility could have made MS-DOS more
friendly to UNIX users (who like slashes in directory names), this bug
is especially unfortunate.

2.   If you use the /p switch and accidentally give a wildcard that
matches so many files that you want to abort and start over, you
can't...control C is interpreted as equivalent to typing "n".

Despite these problems, I think this program will be very useful to
those who don't change their switchar.

Uudecode as usual.

checksum     size (bytes)  file
   27115         4745      this uuencoded posting
   26535         3423      s-tool.arc

-- R.D.
]

BEGIN--cut here--cut here
begin 644 s-tool.arc
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
#`!H`
`
end
END--cut here--cut here