> > The link files in C:\FreeDos\Links set an environment variable. For
> > example I found this in the file blkdrop.bat
> >
> > set _LINK.BLKDROP=%DOSDRV%\GAMES\BLKDROP\BLKDROP.EXE
> >
> > If I run this, I expect the environment variable _LINK.BLKDROP to be
> > added to the system, but when I do a "set" I don't see it. Why is
> > that? (I must be misunderstanding how the "set" command works).
>
> After you type SET xxx=yyy you should see it show up when you type
> the SET command afterwards.  There are two reasons I can think of
> why it wouldn't show up.  One would be if you are out of environment
> space so it never actually got added.  The amount of environment
> space is limited, and I'm not sure how different DOS versions react
> if a variable never got added due to a size limitation (some may just
> fail silently).  I don't remember having that problem myself, so I'm
> not sure.

At the end of the BLKDROP.BAT file, you will see this:

:Done
set _LINK.BLKDROP=


That effectively "clears" the _LINK.BLKDROP environment variable, so
it is removed from the environment, thus SET doesn't display it
afterwards.


> > Why are some of the link files .COM files containing binary data?
>
> I'm not sure what you mean by "link files .COM files".  COM files
> are binary executable files and always contain binary data.  They can
> (and usually do) contain some readable text data embedded in the binary
> code, but they don't have to.
>

These .COM programs are there. You can find them in C:\FREEDOS\LINKS
which is part of the default PATH when you install FreeDOS. Here's
mine: (basic install, plus a few compilers, so there's not much there)

C:\FREEDOS\LINKS>dir /w /b
[.]            [..]           BLKDROP.BAT    I16ADDR2.COM   I16AR.COM
I16AS.COM      I16BUTIL.COM   I16CPP.COM     I16CXXFI.COM   I16ELFED.COM
I16GCC-A.COM   I16GCC-N.COM   I16GCC-R.COM   I16GCC.COM     I16GCOV-.COM
I16GCOV.COM    I16GPROF.COM   I16LD.COM      I16NM.COM      I16OBJCO.COM
I16OBJDU.COM   I16RANLI.COM   I16READE.COM   I16SIZE.COM    I16STRIN.COM
I16STRIP.COM


These are very tiny "shortcuts" that are there to run other programs
that wouldn't normally be part of the PATH. Rather than setting a
longer PATH that has the programs you want in it, the C:\FREEDOS\LINKS
directory contains them.

On my system, I always rewrite my FDAUTO.BAT file to be very simple,
and it doesn't include the C:\FREEDOS\LINKS directory in the PATH. But
for more general users, it's a way to make more programs available by
default without overloading the PATH variable.


Jim


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to