[comp.os.msdos.misc] MS-DOS 3.30A and "SHELL=" in CONFIG.SYS

kjj44752@uxa.cso.uiuc.edu (Kirsten J Johnson) (10/13/90)

I am posting the following message for my brother since he is unable 
to post.  Please followup here or send email to him at:

	uunet!cs.utexas.edu!ibmchs!auschs!marichal.austin.ibm.com!jeff

----
I was playing around with my DOS setup the other day and noticed some
very weird behaviour of the SHELL= statement in CONFIG.SYS.

I need more than 160 bytes of environment space.  I have been using 

	shell=c:\command.com /p /e:768 

since DOS 3.1.  That is one of the first things I set when installing a
new system.  Well, the other day, I was reformatting my C: drive when a
noticed that my floppy access was great deal faster than usual.  I also
ran Norton SI which reported my machine was faster than normal. 
Normally, I get an SI of 27.2-27.4 depending on which way the wind
blows.  That day, I got 30.3 repeatedly. 

After some head scratching and poking around, I traced to the fact that
I didn't have a SHELL= statement in my CONFIG.SYS.  When I have a
SHELL= statement, my floppy accesses are very slow (ie a DIR or FORMAT
take a LONG time) and my machine reports lower numbers on Norton SI.  My
floppy drives have always been slow, and I thought it was my BIOS or
the WD HD/FD controller, but doesn't appear to be anymore.  The
difference in speed is like night and day!

Any ideas or insights are welcome.

Here is my system configuration:

	Microsoft MS-DOS 3.30A (OEM version from DTK)

	DataExpert 386/25 Motherboard  
		C&T Chipset
		AMI BIOS 9/15/89-k9
        8 Meg 80ns 1Mx9 SIPP RAM (Interleaved for near 0 WS)
        65MB CDC 5.25" Half Height Hard Drive
        110MB CDC 5.25" Full Height Hard Drive
        1.2M Teac 5.25" Floppy Drive
        1.44M Toshiba 3.25" Floppy Drive
        WD1006V-SR2 1:1 RLL HD/FD controller
        2S/1P/1G multi-I/O Card
        AST-Four Port Serial Board
        Paradise VGA Plus Board (800x600x16)
        SoundBlaster Board
        Logitech C7 Serial Mouse
        Taxan 770+ MultiVision Monitor
        Northgate OmniKey Plus Keyboard

Has anyone developed a patch to COMMAND.COM to change the default
environment size without using SHELL=?  I have the SETENV.EXE Microsoft
ships with MSC 5.1.  It patches the default enviroment size in many
versions of COMMAND.COM, but not 3.30A. 

Does anyone else think that 160 bytes of environment space is ludicrous?
My path can be longer than that.

Jeff
--
Jeff Johnson			10926 Jollyville Rd #1420
Computer Consultant		Austin, TX  78759  (512) 343 0675
Email -> uunet!cs.utexas.edu!ibmchs!auschs!marichal.austin.ibm.com!jeff
Disclaimer: "My views and opinions do not reflect those of IBM"

pilger@uhunix1.uhcc.Hawaii.Edu (Eric Pilger) (10/14/90)

In article <1990Oct12.224956.21168@ux1.cso.uiuc.edu> kjj44752@uxa.cso.uiuc.edu (Kirsten J Johnson) writes:
>Does anyone else think that 160 bytes of environment space is ludicrous?
>My path can be longer than that.
>

It's as ludicrous as 16 characters of type ahead.  I usually can't
even get the next command typed waiting for the current one to finish.

Actually, my path seems to be limited to ~120 bytes, after which it
truncates.  Yet another anomoly of DOS that is no end of an annoyance.

					  Eric Pilger
					  Systems Programmer
					  NASA Infrared Telescope Facility

ariel@seer.UUCP (Catherine Hampton) (10/16/90)

In article <9849@uhccux.uhcc.Hawaii.Edu> pilger@uhunix1.uhcc.Hawaii.Edu 
(Eric Pilger) writes:
>>Does anyone else think that 160 bytes of environment space is ludicrous?
>>My path can be longer than that.
>>
>It's as ludicrous as 16 characters of type ahead.  I usually can't
>even get the next command typed waiting for the current one to finish.
>
>Actually, my path seems to be limited to ~120 bytes, after which it
>truncates.  Yet another anomoly of DOS that is no end of an annoyance.

Actually, the culprit is the DOS command line, which is 127 characters
long.  If you can feed info into a PROMPT without using the command line,
DOS has room for at least twice that much.

PLUG -- 4DOS, a command shell/COMMAND.COM replacement for MS-DOS, expands
the command line to 256 characters.  In addition, you get aliases, history,
vastly improved internal command and variables set, vastly improved batch
language almost approaching a programming language in power (has user input,
flow control, branching, IF/THEN/ENDIF statements, etc.).  It's on most
local MS-DOS BBS's as 4DOS302A.ZIP.  It's shareware -- try it for 21 days
and, if you like it, pay the owners $35.00 to register.  I've used it for
over a year with an enormous range of products and haven't come up against
a serious conflict yet.

Cathy
_________________________________________________________________
Catherine A. Hampton                  BITNET: hampton@reed.BITNET
CIS: 71601,3130                      Fidonet: Cathy H. @ 1:125/32
GEnie: C.HAMPTON3     Internet: hampton@reed.EDU / ariel@seer.COM

tom@netmbx.UUCP (Thomas Filz) (10/17/90)

pilger@uhunix1.uhcc.Hawaii.Edu (Eric Pilger) writes:

>Actually, my path seems to be limited to ~120 bytes, after which it
>truncates.  Yet another anomoly of DOS that is no end of an annoyance.

Hey, why would anybody want such a long path? Ever thought about the time 
you would save with a shorter path and a batch directory for calling all
those application programs? 

Do you know what happens every time you issue an external command?
Dos searches every single directory listed in your path and in case you
didn't spell your command quite as it should have been, this might take
some time. So limiting the number of directories in your path might make
the time waiting for the "unknown command" message a lot shorter.

So if you want all those hundreds of programs on your disk directly 
accessible why don't you create a directory containing lots of batchfiles
to do this job?

The path can thus be limited to three entries: DOS, BATCH and one for 
all those small utilities. Great isn't it? :-O

Have fun!  
Thomas Filz

koch@motcid.UUCP (Clifton Koch) (10/18/90)

>>>Does anyone else think that 160 bytes of environment space is ludicrous?
>>>My path can be longer than that.
>>>
>>Actually, my path seems to be limited to ~120 bytes, after which it
>>truncates.  Yet another anomoly of DOS that is no end of an annoyance.
> 
> Actually, the culprit is the DOS command line, which is 127 characters
> long.  If you can feed info into a PROMPT without using the command line,
> DOS has room for at least twice that much.
> 
  The culprit is usually the environment space, which is defaulted to 127
characters.  This is the area that stores the path, prompt, any set 
something=something_else type commands.  If you have dos 3.3 (I think thats
the cutoff, but 3.2 may also have the shell feature) you can use the SHELL=
comand in config.sys to increase the environment space.  I think the line
I use is:
SHELL=COMMAND.COM /P /E=512 

There may be a switch or two I'm missing, but the 512 is giving 512 bytes
of environment space, and I believe it can go to 64K, if you really feel
like it.  The /P option makes the shell the permanent one.

browns@iccgcc.decnet.ab.com (Stan Brown, Oak Road Systems) (10/18/90)

In article <652@seer.UUCP>, ariel@seer.UUCP (Catherine Hampton) writes:
> In article <9849@uhccux.uhcc.Hawaii.Edu> pilger@uhunix1.uhcc.Hawaii.Edu 
> (Eric Pilger) writes:
>>>Does anyone else think that 160 bytes of environment space is ludicrous?
>>>My path can be longer than that.
>>>
>>It's as ludicrous as 16 characters of type ahead.  I usually can't
>>even get the next command typed waiting for the current one to finish.

You can shorten your path dramatically.  Suppose you want to point to
(among others)
    C:\UTILITY\NORTON
    C:\UTILITY\DBASE4
    C:\UTILITY\LOTUS123
    C:\WORD

Use the SUBST command, like this:
    SUBST X: C:\UTILITY
    SUBST W: C:\WORD

Then you can abbreviate your path like this:
    PATH ...;X:\NORTON;X:\DBASE4;X:\LOTUS123;W:\...

Or use a separate SUBST, with a separate letter, for each directory:
    SUBST X: C:\UTILITY\NORTON
    SUBST Y: C:\UTILITY\DBASE4
    SUBST Z: C:\UTILITY\LOTUS123
    SUBST W: C:\WORD
and then just the letters (with backslashes) in your path:
    PATH ...;X:\;Y:\;Z:\;W:\...

You can put the SUBST commands in your AUTOEXEC.BAT.  You need to change
your CONFIG.SYS by inserting this statement anywhere:
    LASTDRIVE=Z

The SUBST command is in your DOS manual.  The drive lettery you create
can be used in COPY, DIR, and all the other DOS commands, so this has
uses beyond just shortening your path.
    

The above opinions are not attributable to any other person or company.
                                     email: browns@iccgcc.decnet.ab.com
Stan Brown, Oak Road Systems, Cleveland, Ohio, U.S.A.   +1 216 371 0043

diamond@ontmoh.UUCP (Gerald Diamond, ENV 326-1661) (10/18/90)

From article <1236@netmbx.UUCP>, by tom@netmbx.UUCP (Thomas Filz):
> pilger@uhunix1.uhcc.Hawaii.Edu (Eric Pilger) writes:
> 
>>Actually, my path seems to be limited to ~120 bytes, after which it
>>truncates.  Yet another anomoly of DOS that is no end of an annoyance.
> 
> Hey, why would anybody want such a long path? Ever thought about the time 
> you would save with a shorter path and a batch directory for calling all
> those application programs? 
> 
>some useful advice omitted... 
> Thomas Filz


Other things you can do include

1. keep you directory names *short* 3 letters will do most of the  time

2. write a batch file that saves your default path in  an
   environment variable and crate a new, temporary path which
   includes the directory you have  the program in
   (or "in which you have the program" for grammar types  :-)  )

3. write a batch file that moves you to the correct directory

I prefer a combination of 1. and 3. and have one or two  batch
files that together run the majority of my software.  

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
diamond@ontmoh.uucp  A non-spokesman for everything except me & my bike

There's never enough time to do all the nothing you want. - Calvin

heja@sun1.ruf.uni-freiburg.de (Herbert Jaegle) (10/19/90)

tom@netmbx.UUCP (Thomas Filz) writes:

>Hey, why would anybody want such a long path? Ever thought about the time 
>you would save with a shorter path and a batch directory for calling all
>those application programs? 

On your own little PC with a stable configuration of applications and
utilities this may be acceptable. But what if you are managing 50 PCs
with 15 or more application programs, compilers using more than one
directory for programs (such as C600 (bin, binb)). You are looking for
.EXE, .COM files writing batch files for each one. .BAT files have to be
called by "Call". And what would happen if an application uses batch
files to call executables ? They may not use "call", so if they are calling
your script, they never return.
Have you ever tried to remove an application with more than one executable ?
What about updates ?
You do not known all names ? -- much fun.

But there is another problem with long PATHs. Some systems are truncating PATH, others are crashing if the PATH exceeds maximum length. For example 
HP MS-DOS 4.01 does.

Use short names and hope ...

Herbert

----------------------------------------------------------------------------
Herbert Jaegle   MAIL:  Fraunhofer Institute for Solar Energy Systems
DL7GAP                  Oltmannsstr. 22
                        D 7800 Freiburg, West Germany
                 EMAIL: heja@ise.fhg.de
----------------------------------------------------------------------------

shack@cs.arizona.edu (David Michael Shackelford) (10/20/90)

In article <1486.271c8a08@iccgcc.decnet.ab.com> browns@iccgcc.decnet.ab.com (Stan Brown, Oak Road Systems) writes:
>
>You can shorten your path dramatically.  Suppose you want to point to
>(among others)
>    C:\UTILITY\NORTON
>    C:\UTILITY\DBASE4
>    C:\UTILITY\LOTUS123
>    C:\WORD
>
>Use the SUBST command, like this:
>    SUBST X: C:\UTILITY
>    SUBST W: C:\WORD
>
>Then you can abbreviate your path like this:
>    PATH ...;X:\NORTON;X:\DBASE4;X:\LOTUS123;W:\...


This should be used only with caution!  There are some programs which
choke when a SUBST is in effect.  In fact, my DOS manual lists around
6 DOS commands (can't remember specifics right now and books arent here)
which are bothered by SUBST.  The same warning is given for JOIN, which
is used to make two drives look like one.

The problem with long paths is twofold:  the environment space and
command line length.  The command line is limited to 127 chars, so 
taking out the PATH_ it only leaves 122 for the actual path.

There are several utilities on SIMTEL which claim to allow massive
paths, but the ones I've tried only managed to crash the system.
(again, I don't have specifics right now) 

Dave.        shack@cs.arizona.edu

marshall@wind55.seri.gov (Marshall L. Buhl) (10/20/90)

koch@motcid.UUCP (Clifton Koch) writes:

>>>>Does anyone else think that 160 bytes of environment space is ludicrous?
>> 
>  The culprit is usually the environment space, which is defaulted to 127
>characters.  This is the area that stores the path, prompt, any set 
>something=something_else type commands.  If you have dos 3.3 (I think thats
>the cutoff, but 3.2 may also have the shell feature) you can use the SHELL=
>comand in config.sys to increase the environment space.  I think the line
>I use is:
>SHELL=COMMAND.COM /P /E=512 

It's the same for 3.2.  If you're using 3.1, you enter the environment
in 16 byte paragraphs.  The shell statement for 512 byte environments
would then be:

SHELL=COMMAND.COM /P /E=32

If I remember correctly, this was an undocumented feature in 3.1.

If you're using DOS 2 or 3.0, you should have upgraded long ago.  ;-)

>There may be a switch or two I'm missing, but the 512 is giving 512 bytes
>of environment space, and I believe it can go to 64K, if you really feel
>like it.  The /P option makes the shell the permanent one.

My DOS 4 manual says the limit is 32K.  I don't use any other switches.
--
Marshall L. Buhl, Jr.                EMAIL: marshall@seri.gov
Senior Computer Missionary           VOICE: (303)231-1014
Wind Research Branch                 1617 Cole Blvd., Golden, CO  80401-3393
Solar Energy Research Institute      Solar - safe energy for a healthy future

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (10/21/90)

In article <1486.271c8a08@iccgcc.decnet.ab.com> browns@iccgcc.decnet.ab.com (Stan Brown, Oak Road Systems) writes:

| You can shorten your path dramatically.  Suppose you want to point to
| (among others)
|     C:\UTILITY\NORTON
|     C:\UTILITY\DBASE4
|     C:\UTILITY\LOTUS123
|     C:\WORD
| 
| Use the SUBST command, like this:
|     SUBST X: C:\UTILITY
|     SUBST W: C:\WORD

  You can make it shorter, but there will still be a problem with some
programs which don't run well with SUBST in effect.

  One thing which is important is to get the directories in the correct
order, to minimize the number of directories searched.

  You can also copy the things you use the most to RAMdisk, and execute
them from there. That really will save time, don't forget to fix your
path, and don't forget to put command.com out there, too.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (10/21/90)

  One other thought on this, some shells keep a hash table of commands,
so that the commands will be found by search once, and then by direct
lookup. MKS ksh is one example of this, there are others.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me

pilger@uhunix1.uhcc.Hawaii.Edu (Eric Pilger) (10/21/90)

In article <marshall.656374834@wind55> marshall@wind55.seri.gov (Marshall L. Buhl) writes:
>koch@motcid.UUCP (Clifton Koch) writes:
>
>>>>>Does anyone else think that 160 bytes of environment space is ludicrous?
>>> 
>>  The culprit is usually the environment space, which is defaulted to 127
>>characters.  This is the area that stores the path, prompt, any set 

The culprit is actually, as others have mentioned, the limit imposed
by DOS on the length of a command.  I have a huge environment, but it
doesn't help my path any.  The best solutions semm to remain (as
others have suggested): 1.) shorten your directory names, 2.) use
SUBST, 3.) clench your teeth and hope for the best.

My environment is, in fact, so large that it has revealed yet another
interesting feature in DOS.  Some programs (older versions of Procomm,
a piece of software I am currently beta testing, etc.) will fail with
"Out of Environment Space" if you use more than a certain amount of
environment.  The two instances of this I have discovered failed at
just under 800 bytes.  Doesn't matter how much you give it with
"shell=...", if you use up more than the magic number of bytes,
failure.  Any ideas?

			     Eric Pilger
			     Systems Programmer
			     NASA Infrared Telescope Facility

JMEYERS@MTUS5.BITNET (10/28/90)

I have, quite successfully I should add, lengthened my path  by use of a
shareware program called CPATH.  It is available from SIMTEL20 and allows
one to add directories to a path, delete directories from the path or change
the path all together.  I believe that it also comes with some other programs
that gives statistics about the environment size and how full/empty it is.
I did have to increase my environment size by the use of the SHELL statement
in my CONFIG.SYS file.  I am using DOS 3.3 and I learned about the SHELL
command from PC Magazine's big book on DOS (I don't remember the exact
title but I refer to it as my BIG DOS book.)  There have been a lot of
things changed in the subtle ways that the SHELL command works in the past
few versions of DOS.  So be sure to check out the  specifics of your DOS
version before expanding the environment size with SHELL.

Sincerely,
Jason P. Meyers
JMEYERS@MTUS5.BITNET

andy@mks.com (Andy Toy) (10/31/90)

In article <90300.181218JMEYERS@MTUS5.BITNET> JMEYERS@MTUS5.BITNET writes:
>There have been a lot of things changed in the subtle ways that the
>SHELL command works in the past few versions of DOS.  So be sure to
>check out the  specifics of your DOS version before expanding the
>environment size with SHELL.

There is only one thing that I can think of that changed with the
`SHELL=' statement in the config.sys for different versions of DOS.
Older versions of DOS allowed the pathname to the shell to be
specified using `/' or `\' delimiters wheres recent versions only
allow `\'.  You must be referring to the options of command.com 
for different versions of DOS.
-- 
Andy Toy, Mortice Kern Systems Inc.,       Internet: andy@mks.com
  35 King Street North, Waterloo,       UUCP: uunet!watmath!mks!andy
      Ontario, CANADA N2J 2W9      Phone: 519-884-2251  FAX: 519-884-8861

jpl1@ra.MsState.Edu (Gamma-Ray) (11/01/90)

I will have to try omitting my shell statement.  Hoever, i change my
environment thru 4dos.  If you haven't tried it it is an interesting
change from straight command.com.  Nice aliases, cmdline editing, extra
dos cmds such as move (i.e. copy and del in one move), online help for
all 4dos and dos cmds.
WHILE i'm giving my few tips; you must try the print cacher PCACHE 2.2.  It is 
absolutely the best.  NO conflicts.  
And I also love the new norton 5.0 disk cacher NCACHE-F.  It is incredible.
If you write a large file to a 1.2 meg floppy, it returns the C> prompt
immediately and keeps writing to the floppy in the background.  If you 
then give a read floppy cmd while it is writing to the floppy, it suspends the write, dooes the read, and resumes the write later. neat.