[comp.binaries.ibm.pc] "which" program for MS-DOS

bob@ames.arc.nasa.gov (Bob Weissman) (09/21/88)

This is the equivalent of the UNIX "which" program for MS-DOS computers
which use COMMAND.COM for command dispatch.

I.e., typing "which foo" will tell the user which program called "foo"
would have been executed had the user typed "foo".

Uses the PATH environment variable and the known fact that COMMAND.COM
searches in the order .COM, .EXE, .BAT for executable files.

This program is released into the public domain.  Enjoy.

Bob Weissman
Internet:	bob@acornrc.uucp
UUCP:		...!{ ames | decwrl | oliveb | pyramid }!acornrc!bob
Arpanet:	bob%acornrc.uucp@ames.arc.nasa.gov

[
Comments:  (a) PC-DOS 3.1 will accept the command "sdir.xxx" and give
you sdir.exe, sdir.com, or sdir.bat, but "which sdir.xxx" won't.
(b) If you give the command "which \bin\junk" or "which /bin/junk"
the output is badly formatted.

The executable program (which seems to be compiled with some version
of Microsoft C) and C source (probably specific to Microsoft C) are
supplied.

Uudecode this article normally.

checksum     size (bytes)  file
   64712        15548      this uuencoded posting
   15806        11264      which.arc

-- R.D.
]

BEGIN--cut here--cut here
begin 644 which.arc
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
M)<J!5PMT\.77QJ$US>/.#L,@P\\=OV%;RF>``,<;*4LF'@@>AT$S&2$;R',,
M/P]9I-MPJ^QR&'/,\9C40].!-20#`!H`&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
M&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:
.&AH:&AH:&AH:&AH:&AH:
`
end
END--cut here--cut here