[comp.os.msdos.misc] PATH Statement

jdb@reef.cis.ufl.edu (Brian K. W. Hook) (02/08/91)

My path statement has exceeded the legal limit allowed by DOS.  Is there
any way to extend this?  I thought the standard way would be to do:

CONFIG.SYS:

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

Since my environment space was initially set to 256bytes.  Adding another
256 did not help.  I have one hard drive, so I have lots of stuff like:

PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.

I tried using the SUBST for the more frequently accesed directories:

SUBST U: C:\DOS\UTILS

So I could use U: instead, but Windows 3.0 chokes on the SUBST command.

Any pointers?

Brian

glratt@uncle-bens.rice.edu (Glenn Forbes Larratt) (02/08/91)

In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>
>My path statement has exceeded the legal limit allowed by DOS.  Is there
>any way to extend this?  I thought the standard way would be to do:
>
>CONFIG.SYS:
>
>shell=c:\command.com /e:512 /p
>
>Since my environment space was initially set to 256bytes.  Adding another
>256 did not help.  I have one hard drive, so I have lots of stuff like:
>
>PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.

Expanding your environment space will only help if the error you're getting
is "Out of environment space" (pardon the Blinding Flash of the Obvious -
see below).

If by "has exceeded the legal limit allowed by DOS," you mean it has more
than 15/16 (can't remember which) directory paths specified, there is no
way in DOS that I know of to do this: however, a good solution is to have
a \BAT subdirectory which would be first or at least early in your path:
this would allow you to encapsulate particular software in a batch file
that temporarily adds the necessary path to your search path, executes your
program by full pathname (e.g. \DOS\UTILS\NORTON45\NI; this allows you to
name your batch file \BAT\NI.BAT), then prunes the search path.  Some
organization along these lines can go a long way.

Hope this helps.




--
	Glenn Larratt			glratt@uncle-bens.rice.edu
	Computing Resource Center	OCIS, Rice University, Houston, Texas

robert@ireq.hydro.qc.ca (R.Meunier 8516) (02/09/91)

In article <1991Feb8.072845.2809@rice.edu> glratt@uncle-bens.rice.edu (Glenn Forbes Larratt) writes:
>In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
|>
|>CONFIG.SYS:
|>
|>shell=c:\command.com /e:512 /p
|>
|>PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.
|
|If by "has exceeded the legal limit allowed by DOS," you mean it has more
|than 15/16 (can't remember which) directory paths specified, there is no
|way in DOS that I know of to do this: however, a good solution is to have
|a \BAT subdirectory which would be first or at least early in your path:
|this would allow you to encapsulate particular software in a batch file
|that temporarily adds the necessary path to your search path, executes your
|program by full pathname (e.g. \DOS\UTILS\NORTON45\NI; this allows you to
|name your batch file \BAT\NI.BAT), then prunes the search path.  Some
|organization along these lines can go a long way.



   A better way is to use the subst command to create special logical drive.
you add   lastdrive=z                in your config.sys
          subst c:\dos\utils u:      in your autoexec.bat

and change your path to
          path= ...  ;u:\norton50; ...



--
Robert Meunier                     Institut de Recherche d'Hydro-Quebec
Ingenieur                          1800 Montee Ste-Julie, Varennes
Internet: robert@ireq.hydro.qc.ca  Qc, Canada, J3X 1S1 
maintainer: BASIC mailing list request to basic-request@ireq.hydro.qc.ca

glratt@uncle-bens.rice.edu (Glenn Forbes Larratt) (02/09/91)

In article <1991Feb8.072845.2809@rice.edu> I wrote:
>In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>>
>>My path statement has exceeded the legal limit allowed by DOS.  Is there
...
>
>Expanding your environment space will only help if the error you're getting
>is "Out of environment space" (pardon the Blinding Flash of the Obvious -
>see below).
>
>If by "has exceeded the legal limit allowed by DOS," you mean it has more
>than 15/16 (can't remember which) directory paths specified, there is no
      ^^^^^

Mea culpa, mea maxima culpa: this is not a DOS limit, but one enforced (by
crashing and other nastiness) by Novell Netware (we're using ANW 2.15c).

I believe everything else I said is accurate.  My apologies.

		keeping the faith...

--
	Glenn Larratt			glratt@uncle-bens.rice.edu
	Computing Resource Center	OCIS, Rice University, Houston, Texas

tporczyk@na.excelan.com (Tony Porczyk) (02/12/91)

The News Manager)
Nntp-Posting-Host: na
Reply-To: tporczyk@na.excelan.com (Tony Porczyk)
Organization: Novell, Inc. San Jose, California
References: <26780@uflorida.cis.ufl.EDU>
Date: Sun, 10 Feb 1991 06:49:15 GMT

In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>My path statement has exceeded the legal limit allowed by DOS.  Is there
>any way to extend this?  I thought the standard way would be to do:
>CONFIG.SYS:
>shell=c:\command.com /e:512 /p
>[stuff deleted followed by an example of path:]
>PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.

Brian,

You path should not exceed 128 characters, regardless of the size of your
environment (increasing your environment is wonderful if you have a lot
of env. variables).
The easiest way to fix your problem is to rename your descriptive directory
names, and maybe to pull some of them from under the multilayers of other
directories. How about pulling NORTON to the surface? Same path you showed:
PATH=C:\WIN;C:\WIN\EXC;C:\NORTON;
See what I mean?
Also, if you have directories in the path that contain programs which could
be run using batch files without having that directory in the path, open
one directory called BATCH and put all of those wonderful *.bat's in there :)
Another way to do it, if you use different configurations, for, let's say,
programming, and another time Windows and other stuff, have two different
sets of CONFIG.SYS and AUTOEXEC.BAT with different environments.

Tony

rdippold@qualcomm.com (Ron Dippold) (02/12/91)

In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>
>My path statement has exceeded the legal limit allowed by DOS.  Is there
>any way to extend this?  I thought the standard way would be to do:
> [CONFIG.SYS Stuff]
>Since my environment space was initially set to 256bytes.  Adding another
>256 did not help.  I have one hard drive, so I have lots of stuff like:

Your line to increase the environment space was correct, but no matter how big
you make your environment, your PATH still has a limit of 127 bytes.  There's
no easy way around it except the standard methods:
  * Move your directories up in the tree
  * Shorten some directory names
  * Combine directories (move NORTON stuff into UTIL, etc.)
  * Don't include something in the PATH if you can make a batch file that
    will find it for you and run it.

A lot of software insists that you have its directory in the PATH.  This is a
bogus statement so they won't have to explain to you how to make a batch file
to run it...  For instance I don't have XTree in my path, I just have a file
called X.BAT in my \UTIL directory that invokes it at the correct location.
You will find that you can do this with most of your programs.

    D

kolstad@jomby.cs.wisc.edu (Joel Kolstad) (02/12/91)

In article <1991Feb11.201752.17466@qualcomm.com> rdippold@qualcomm.com (Ron Dippold) writes:
>In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>>
>>My path statement has exceeded the legal limit allowed by DOS.  Is there
>>any way to extend this?  I thought the standard way would be to do:
>> [CONFIG.SYS Stuff]
>>Since my environment space was initially set to 256bytes.  Adding another
>>256 did not help.  I have one hard drive, so I have lots of stuff like:
>
>Your line to increase the environment space was correct, but no matter how big
>you make your environment, your PATH still has a limit of 127 bytes.  There's
>no easy way around it except the standard methods:
 
[various methods described]
 
One other idea: Use 4DOS.  After using a "sane" operating system like Amiga
DOS or even UNIX, 4DOS is almost a must to keep your sanity.  ("You mean
I can't enter DEL <this> <that> <and the next thing>?" "And I can't COPY
<a> <b> <and c> <all to here>?"  "You gotta be kidding!")

4DOS is, in my opinion, an EXCELLENT package.

What concerns us here, though, is ALIASEs.  4DOS will let you have as many
aliases as you like... each alias can contain as many commands as you like,
as long as no single alias exceeds 255 characters.  And of course, aliases
can chain themselves to batch (BTM) files, more aliases, or whatever, if
need be.

Most of our "program" aliases are simple things like "NORTON=cdd c:\norton ^
ni"  Here, "cdd" is "change drive and directory" (in case you're sitting
on A:, cdd is a very useful internal 4DOS command), and the ^ separates
statements.
 
						---Joel Kolstad
						kolstad@jomby.cs.wisc.edu
						kolstad@cae.wisc.edu

yow@riddler.Berkeley.EDU (Billy Yow 283-4009) (02/12/91)

> 4DOS is, in my opinion, an EXCELLENT package.

Where can one find 4DOS?

			Thankz

                             Bill Yow
                             yow@sweetpea.jsc.nasa.gov

My opinions are my own!

w8sdz@rigel.acs.oakland.edu (Keith Petersen) (02/13/91)

yow@riddler.Berkeley.EDU (Billy Yow 283-4009) writes:
>Where can one find 4DOS?

WSMR-SIMTEL20.ARMY.MIL [26.2.0.74]

NOTE: Type B is Binary; Type A is ASCII

Directory PD1:<MSDOS.4DOS>
 Filename   Type Length   Date    Description
==============================================
4D2411.ZIP    B    7006  901229  TSR critical error handler (INT 24) for 4DOS
4D30REF.ZIP   B    8332  900323  4DOS v3 special chars/variables help ref. 1of2
4D30REF2.ZIP  B    9422  900323  4DOS v3 special chars/variables help ref. 2of2
4DOS302A.ZIP  B  364356  901029  4DOS v3.02a, enhanced COMMAND.COM replacement
4DOSTIP.ARC   B    3744  890512  Notes on '4DOS' DOS cmd processor replacement
4DTECH01.ZIP  B    8693  900517  Official 4DOS technical notes #1 for 4DOS 3.0
4EDIT10.ZIP   B   30350  900323  4DOS full screen directory description editor
4EDIT106.ZIP  B   34169  910205  4DOS full screen directory description editor
4HELP.ARC     B   86135  900201  Improved help for 4DOS v2.x command processor
4MAP.ZIP      B   42206  901116  Customize 4DOS command line editor keybindings
4ZIP.ZIP      B   60546  900713  A utility for 4DOS, ZIP descriptions with file
SVALIAS.ARC   B    5558  900109  Saves 4DOS aliases in a file for later use

Keith
-- 
Keith Petersen
Maintainer of SIMTEL20's MSDOS, MISC & CP/M archives [IP address 26.2.0.74]
Internet: w8sdz@WSMR-SIMTEL20.Army.Mil    or     w8sdz@vela.acs.oakland.edu
Uucp: uunet!umich!vela!w8sdz                          BITNET: w8sdz@OAKLAND

userAKDU@mts.ucs.UAlberta.CA (Al Dunbar) (02/13/91)

In article <5334@s3.ireq.hydro.qc.ca>, robert@ireq.hydro.qc.ca (R.Meunier 8516) writes:
>In article <1991Feb8.072845.2809@rice.edu> glratt@uncle-bens.rice.edu (Glenn Forbes Larratt) writes:
>>In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>|>
>|>CONFIG.SYS:
>|>
>|>shell=c:\command.com /e:512 /p
>|>
>|>PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.
>|
>|If by "has exceeded the legal limit allowed by DOS," you mean it has more
>|than 15/16 (can't remember which) directory paths specified, there is no
>|way in DOS that I know of to do this: however, a good solution is to have
>|a \BAT subdirectory which would be first or at least early in your path:
>|this would allow you to encapsulate particular software in a batch file
>|that temporarily adds the necessary path to your search path, executes your
>|program by full pathname (e.g. \DOS\UTILS\NORTON45\NI; this allows you to
>|name your batch file \BAT\NI.BAT), then prunes the search path.  Some
>|organization along these lines can go a long way.
> 
> 
> 
>   A better way is to use the subst command to create special logical drive.
>you add   lastdrive=z                in your config.sys
>          subst c:\dos\utils u:      in your autoexec.bat
> 
>and change your path to
>          path= ...  ;u:\norton50; ...
> 
I don't know if that's "better" than the "BAT suggestion.
Having a looooong PATH means that all those directories
are searched whenever DOS decides that what you have
typed is not an internal command. OK I lied, it stops
searching when it finds what it is looking for.
 
 -------------------+-------------------------------------------
 Al Dunbar          | 
 Edmonton, Alberta  |  Disclaimer: "I disclaim disclaimers"
 CANADA             |                              
 -------------------+-------------------------------------------

tporczyk@na.excelan.com (Tony Porczyk) (02/13/91)

The News Manager)
Nntp-Posting-Host: na
Reply-To: tporczyk@na.excelan.com (Tony Porczyk)
Organization: Novell, Inc. San Jose, California
References: <26780@uflorida.cis.ufl.EDU> <1991Feb11.201752.17466@qualcomm.com> <1991Feb12.001051.18375@spool.cs.wisc.edu> <1991Feb12.091712@riddler.Berkeley.EDU>
Date: Tue, 12 Feb 1991 18:07:27 GMT

In article <1991Feb12.091712@riddler.Berkeley.EDU> yow@riddler.Berkeley.EDU (Billy Yow 283-4009) writes:
>> 4DOS is, in my opinion, an EXCELLENT package.
>Where can one find 4DOS?
>                             Bill Yow

You can either download it from Compuserve, or you can just call 617-646-3975
(JP Software) and get more info on how to order.
It's an outstanding package. I would recommend you just give them a call.

Tony

ts@uwasa.fi (Timo Salmi) (02/13/91)

In article <1991Feb11.201752.17466@qualcomm.com> rdippold@qualcomm.com (Ron Dippold) writes:
>In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>>
>>My path statement has exceeded the legal limit allowed by DOS.  Is there
>>any way to extend this?  I thought the standard way would be to do:
:

   As many posters have pointed out, the generic answer is no.  You
have to resort to round-abouts.  One trick not mentioned yet (as far
as I recall) is temporarily appending directories to the path, and
then deleting the extra directories from the path then they are no
longer needed.  Having excessive long paths is not a good idea
anyway, since they involve a slow-up. 
   Addpath and delpath facilities can be found in /pc/ts/tsbat23.arc
at grabo.uwasa.fi anonymous ftp archives. 

...................................................................
Prof. Timo Salmi        
Moderating at garbo.uwasa.fi anonymous ftp archives 128.214.12.37
School of Business Studies, University of Vaasa, SF-65101, Finland
Internet: ts@chyde.uwasa.fi Funet: gado::salmi Bitnet: salmi@finfun

jdb@reef.cis.ufl.edu (Brian K. W. Hook) (02/13/91)

Thanks for all the replies for lengthening my path, and here is a summary
and why none of them work. :)

1. "Make BAT directory, set your path to it, and run it that way!"

A lot of my applications work off of my current directory, for example, I
have about 8 different document directories that I got to to use WP 5.1
with, so I CD to them then type WP....a BAT file that takes me to the WP
directory won't help.

Other programs are ones like DS (Directory Sort), FF (File Find), etc.   I
know I could make a DS.BAT:

C:\UTILS\NORTON50\FF %1 %2 %3 

But remember, under DOS the minimum amount of space that file will take up
on an AT is 2048 bytes.  So each 45 byte file is actually 2K, and I can't
afford the space!

2.  "Shorten directory names"

This is possible, but still only helps TRIM the PATH statement.  When I do
Windows development I have around 7 paths I NEED...to C600, WINDEV and its
subdirectories, etc.  And even E:\WNDV\RSRC;E:\C600\BIN; etc. etc. takes up
enough room where it is pretty much impossible to put other things in the
path.  Also, many programs expect to find themselves in certain places, and
changing them can be a pain (case in point...Windows....had to substitute
WIN for WINDOWS in all the .INI files!).

I've shortened them anyway.

3.  "Move directories to the surface"

Can't deal with the clutter....77 sub directories off of the root directory
(and this on just ONE drive!)  No thanks.  I something a tad bit more
elegant than that, and even then, I still don't think they'll all fit even
with shortened names.

4.  "Put everything in the same directory"

Too many name conflicts....File Size and Format Save (FS and FS), Safe
Format and Send File, INSTALL (about 15 of these altogether), SETUP,
disktest, etc. are all common names (INSTALL, SETUP, DS, SD, SF, these are
some examples).

Also, have you every tried updating something that was kept scattered over
several drives or directories?  I'm sure no one would want to update their
compilers if they had a couple of them installed in E:\BIN (  I have 4,
count 'em, 4 C compilers alone!  TC, TC++, MSC6.00, and MS QC2.5!) and they
share common names -- TCC, QCC, CL, *.LIB, include files, etc.)

5.  "Use 4DOS"

I HAVE to stay with DOS as much as I hate it since I am a DOS developer.  I
can't even have the SMALLEST incompatibilites with something.

6.  "Switch to UNIX/VMS/APPLE/AMIGA/SOMETHING ELSE"

Sorry, too much software and time invested in what I'm doing right now....




Brian

PS Thanks for the help anyway....this is highly annoying.

dodson@convex.COM (Dave Dodson) (02/14/91)

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>
>Thanks for all the replies for lengthening my path, and here is a summary
>and why none of them work. :)
>
>1. "Make BAT directory, set your path to it, and run it that way!"
>
>A lot of my applications work off of my current directory, for example, I
>have about 8 different document directories that I got to to use WP 5.1
>with, so I CD to them then type WP....a BAT file that takes me to the WP
>directory won't help.

How about putting all of your WP document directories in your WP directory
(as subdirectories, I mean) and then put ".." in your path.  Do the same
with the other products.  If you don't like to cd \wp\foo, then make a
wp.bat that does it for you before invoking ..\wp or whatever.

----------------------------------------------------------------------

Dave Dodson		                             dodson@convex.COM
Convex Computer Corporation      Richardson, Texas      (214) 497-4234

jzl@micasa.UUCP (Jack Z. Lupic) (02/14/91)

rdippold@qualcomm.com (Ron Dippold) writes:

> In article <26780@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hoo
> >
> >My path statement has exceeded the legal limit allowed by DOS.  Is there
> >any way to extend this?  I thought the standard way would be to do:
> > [CONFIG.SYS Stuff]
> >Since my environment space was initially set to 256bytes.  Adding another
> >256 did not help.  I have one hard drive, so I have lots of stuff like:
> 
> Your line to increase the environment space was correct, but no matter how bi
> you make your environment, your PATH still has a limit of 127 bytes.  There's
> no easy way around it except the standard methods:

There is a program that will extend the 127 char limit to 1023 chars.  I have
been using it for over a year with MSDOS 4.01 without a problem.  It's called
BSET <bset.exe>.  Another program that I used with MSDOS 3.3 was SETPATH but
that program would not work too-well with MSDOS 4.01.

===============================================================================
                                    BSET
                                    v1.10
                         Copyright 1989, Brad Stephenson


    I've often wanted a way to exceed the DOS limitation of 127 characters 
    for an environment variable.  Most of the time I wanted to be able to 
    set my DOS PATH to include a large number of directories without 
    resorting to the SUBST command. 

    BSET (Big SET) provides that ability.  It reads strings from a data 
    file and places those strings in the "parent" environment.  It's as if 
    you typed in the strings on the command line using the SET command, 
|   except you are limited to 1023 characters, not 127. 



    BSET is free software.  The author retains all rights to the program, 
    but you may distribute BSET as long as there is no fee charged. 


                            Brad Stephenson
                             670 Edgeworth
                           Jenison, MI 49428
                        Compuserve ID 71620,1035
===============================================================================


-----
Jack Z.  Lupic - Scarborough, Ont., Canada
{aimed,becker,blister,torag,utdoe}!micasa!jzl

sonny@charybdis.harris-atd.com (Bob Davis) (02/14/91)

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>
>Thanks for all the replies for lengthening my path, and here is a summary
>and why none of them work. :)
>
	[DELETIONS]
>PS Thanks for the help anyway....this is highly annoying.

	I never need a long PATH. I handle this problem this way:

	-In AUTOEXEC.BAT I set an Environment variable to my
basic standard PATH and then set PATH equal to it:

	SET STDPATH=C:\;C:\DOS;C:\BIN\DOS;C:\BIN\UNIX;C:\BATCH
	PATH %STDPATH%

	-Then when I need to add another deeply embedded directory,
I add it momentarily to my path in a batch file, and then return
my path to the relatively short standard path. For example, running
WordPerfect might be initiated in a batch file C:\BATCH\WP.BAT
containing the following lines:

	@echo off
	path %path%;C:\LIB\WORDPROC\WP
	WP
	path %stdpath%
	echo on


	This way my path grows only for the time I am running the
application. Then the path is returned to the short standard path.
That way you do not have to drag around a lot of excess baggage on 
your path that is only needed during the running of an application.


_____________________________________________________________________________
Bob Davis, UofALA alum \\ INTERNET: sonny@trantor.harris-atd.com  |  _   _  |
Harris Corporation, ESS \\    UUCP: ...!uunet!x102a!trantor!sonny |_| |_| | |
Advanced Technology Dept.\\ AETHER: K4VNO          |==============|_/\/\/\|_|
PO Box 37, MS 3A/1912     \\ VOICE: (407) 727-5886 | I SPEAK ONLY | |_| |_| |
Melbourne, FL 32902        \\  FAX: (407) 729-3363 | FOR MYSELF.  |_________|

crouse@eng.umd.edu (Gil Crouse) (02/14/91)

There is a program BIGPATH on SIMTEL in the <msdos.sysutl> directory.
It supposedly doubles the length of you PATH.  Just noticed it while
browsing through the index.  I've never tried it.

Gil Crouse
crouse@eng.umd.edu

tporczyk@na.excelan.com (Tony Porczyk) (02/14/91)

The News Manager)
Nntp-Posting-Host: na
Reply-To: tporczyk@na.excelan.com (Tony Porczyk)
Organization: Novell, Inc. San Jose, California
References: <26883@uflorida.cis.ufl.EDU>
Date: Wed, 13 Feb 1991 23:40:03 GMT

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>This is possible, but still only helps TRIM the PATH statement.  When I do
>Windows development I have around 7 paths I NEED...to C600, WINDEV and its

Do you need WP5.1 at the same time in your path when you're doing Windows
development? How about multiple config.sys and autoexec.bat for different
uses. I found it to be the only effective long-term way to handle my
configuration.

Tony

rlw@IDA.ORG (Richard Wexelblat) (02/14/91)

A good way to handle long paths and infrequently used directories that
will work both in windows and outside is to set up a series of bat
files in your local equivalent of /bat or /usr for these infrequently
used directories.

Thus, the way I get into Norton or my infrequently used database of
stickylabels is through a bat file that does the following:

save the path
set the path to just the directory of current interest (+ root)
run whatever I want to run
restore the path

If you call one of these things recursively, you'll loose the original
path, though.  But there are ways to get around this, too if you really
need to recurse.  The disadvantage of this is having to have extra bat
files and ending in semi-limbo if you ^C out of the bat file.  So there's
an oops.bat that restores the original path for me.
-- 
--Dick Wexelblat  (rlw@ida.org) 703 845 6601
  Only vampires don't have to look at themselves in the mirror.

mlord@bwdls58.bnr.ca (Mark Lord) (02/15/91)

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
<
<Thanks for all the replies for lengthening my path, and here is a summary
<and why none of them work. :)
...
<Sorry, too much software and time invested in what I'm doing right now....

So why not simply use one of the many available utilities designed specifically
for overcoming this problem.  Simtel has four or five programs which permit
setting a path longer than 127 characters.  One of them was written by me,
and I'm willing to email it to anyone who cannot get it from simtel.

Cheers!
-- 
 ___Mark S. Lord__________________________________________
| ..uunet!bnrgate!mlord%bmerh724 | Climb Free Or Die (NH) |
| MLORD@BNR.CA   Ottawa, Ontario | Personal views only.   |
|________________________________|________________________|

rdippold@maui.qualcomm.com (Ron Dippold) (02/15/91)

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>
>Thanks for all the replies for lengthening my path, and here is a summary
>and why none of them work. :)

One more... there are programs called ADDPATH and REMPATH that will dynamically
add and subtract directories from your PATH statement.

jmr5125@rigel.tamu.edu (Mason Reed) (02/15/91)

In article <1991Feb14.123101.683@IDA.ORG>, rlw@IDA.ORG (Richard Wexelblat) writes...
> 
>A good way to handle long paths and infrequently used directories that
>will work both in windows and outside is to set up a series of bat
>files in your local equivalent of /bat or /usr for these infrequently
>used directories.

The way I handle it is to simply use subst to simplify the paths.  For
instance:

  subst z: c:\dos\path\utilities
  subst x: c:\dos\path\mice
and so forth.  Then in you set your path as follows:
  set path=z:\;x:\;...
All this requires is that you have DOS 3.3(?) or better, and you insert the
line "lastdrive=z" into your config.sys (so that you can define drive letters
above C: or D: or whatever).  Hope this helps.

tcs@mailer.jhuapl.edu (Carl Schelin) (02/15/91)

In article <26883@uflorida.cis.ufl.EDU>, jdb@reef.cis.ufl.edu (Brian K. W. Hook) says:
>
>
>Thanks for all the replies for lengthening my path, and here is a summary
>and why none of them work. :)
>
>1. "Make BAT directory, set your path to it, and run it that way!"
>

Create a Master batch file. I have one and I called it M.Bat. I have a corresponding
M.Txt file for help and within the batch file, I just do a "for %%f in (...) do goto %%f"

This way I can execute loads of apps without having to have it in the path.



>2.  "Shorten directory names"

>3.  "Move directories to the surface"

>4.  "Put everything in the same directory"

>Also, have you every tried updating something that was kept scattered over
>several drives or directories?  I'm sure no one would want to update their
>compilers if they had a couple of them installed in E:\BIN (  I have 4,
>count 'em, 4 C compilers alone!  TC, TC++, MSC6.00, and MS QC2.5!) and they
>share common names -- TCC, QCC, CL, *.LIB, include files, etc.)
>

I have 6 or 7 compilers but I don't use them all at the same time. Most of them
are for specialized tasks:

TC/TC++   - Utility work
MSC6.0    - Main Apps work and most likely the one setup at any one time.
MSC5.0    - Work with apps that don't work with 6.0.
MS QB3.x - BBS Door programs.
MS QB4.x - Other Basic projects
MegaBasic - Compatibility with older applications.

I generally have MSC6.0, QB4.x and MegaBasic in my path at any one time. In my 
Master batch file, I have the other path and other env vars setup. Then I can type
M turboc when I want to do tc work and M msc6 or msc5 for MSC work.

I also have Windows development libraries, TCXL libraries, Network libraries,
PCTCP libraries, and the occasional odd library. My biggest problem with TC is
I can't put all the libs on the LIB or INCLUDE env var like with MSC.

>5.  "Use 4DOS"

Same problem I have along with Network incompatibilities. Primarily with 3Com.
If I use 4Dos, I cannot link to directories with 3+Share. That blows it out of the water.

>6.  "Switch to UNIX/VMS/APPLE/AMIGA/SOMETHING ELSE"
>
>Sorry, too much software and time invested in what I'm doing right now....

I agree here. I've only been working with PC's since they came out. 200 meg on
line and another 300 off line. Some 55 projects currently being worked on and 5
computers in the house (three of which are IBM clones).

Go with the master batch file and seperate boot files. I'm sure you don't need 
access to all the compilers at once. Of course, I'm not you and you may very
well need all the compilers at one time.

Good luck.

Carl Schelin
tcs@mailer.jhuapl.edu

dmurdoch@watstat.waterloo.edu (Duncan Murdoch) (02/15/91)

In article <12174@helios.TAMU.EDU> jmr5125@rigel.tamu.edu writes:
>
>The way I handle it is to simply use subst to simplify the paths.  For
>instance:
>
>  subst z: c:\dos\path\utilities
>  subst x: c:\dos\path\mice
>and so forth.  Then in you set your path as follows:
>  set path=z:\;x:\;...
>All this requires is that you have DOS 3.3(?) or better, and you insert the
>line "lastdrive=z" into your config.sys (so that you can define drive letters
>above C: or D: or whatever).  Hope this helps.

Subst has been there at least since 3.1.  A slightly more flexible way to do the
same thing is just to use

  subst z: c:\
  subst x: c:\

to create fake copies of drive c:, and then use cd on those drives to set them
to the path-of-the-moment.  (Your path string would be z:.;x:., of course.)

But I've heard from several sources that subst causes trouble with certain
programs.  Can anyone give details?  I've used variations of the above strategy
for about 5 years, and the only problems I've seen are harmless ones:

  - if Z: is logged to a directory \useless, then I can't rmdir c:\useless.
  - Norton utilities refuse to operate on the subst'd drives.

Are there any more serious problems, waiting to catch me?

Duncan Murdoch

leonard@qiclab.scn.rain.com (Leonard Erickson) (02/16/91)

jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>5.  "Use 4DOS"

>I HAVE to stay with DOS as much as I hate it since I am a DOS developer.  I
>can't even have the SMALLEST incompatibilites with something.

4DOS is a replacement *shell*. It replaces COMMAND.COM. And it can be run on
top of COMMAND.COM or vice-versa. They are also *very* good about correcting
incompatabilities. As an example, some of us create zero-length "flag" files
by going:

REM>{filename}

4DOS didn't have that "bug". But when we pointed it out, they added it in.

-- 
Leonard Erickson			leonard@qiclab.uucp
personal:	CIS: [70465,203]	70465.203@compuserve.com
business:	CIS: [76376,1107]	76376.1107@compuserve.com

daparish@biivax.dp.beckman.com (02/16/91)

In article <26780@uflorida.cis.ufl.EDU>, jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
> 
> My path statement has exceeded the legal limit allowed by DOS.  Is there
> any way to extend this?  I thought the standard way would be to do:
> shell=c:\command.com /e:512 /p
> PATH=C:\BIN\WINDOWS;C:\BIN\WINDOWS\EXCEL;C:\DOS\UTILS\NORTON50;etc. etc.
> I tried using the SUBST for the more frequently accesed directories:
> SUBST U: C:\DOS\UTILS
> So I could use U: instead, but Windows 3.0 chokes on the SUBST command.
> Brian

I suggest creating a c:\bat directory which is included in the PATH.
remove for example c:\dos\util\norton50, create a batch file \BAT\NU.BAT =
c:\dos\norton\nu %1 %2 		or whatever.

and add any other dos commands required (such as cd if necc.).

do the same for any other programs.
this keeps the path short for a very small overhead (and saves searching all
those damn directories for every command).

dell@uspm650.Dayton.NCR.COM (Jim Dell) (02/20/91)

If you need a long path try the following programs from Compuserv:
ADDPATH
BSET

I use BSET.

To find on COMPUSERV enter GO IBMFF and follow the directions.

doerschu@rex.cs.tulane.edu (Dave Doerschuk) (02/26/91)

In article <26883@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes:
>Thanks for all the replies for lengthening my path, and here is a summary
>and why none of them work. :)

Brian, I'd like to comment on a few of these solutions, in hopes of making
them work for your situation:

>1. "Make BAT directory, set your path to it, and run it that way!"
>
>A lot of my applications work off of my current directory, for example, I
>have about 8 different document directories that I got to to use WP 5.1
>with, so I CD to them then type WP....a BAT file that takes me to the WP
>directory won't help.

Most "quality" (whatever that means! :-) modern software is capable of
determining what directory it was executed from, so rather than actually
change directory in your batch file, simply call the program with a
complete pathname (in the batch file).  A quick one-liner batch program
to run wordperfect, located in c:\wp51, might be:

c:\wp51\wp

The idea is that you're logged into the directory containing the DATA
files, and calling the executable with a full path specification.  I
absolutely guarantee this works for wordperfect, and many other packages
as well.

>Other programs are ones like DS (Directory Sort), FF (File Find), etc.   I
>know I could make a DS.BAT:
>
>C:\UTILS\NORTON50\FF %1 %2 %3
>
>But remember, under DOS the minimum amount of space that file will take up
>on an AT is 2048 bytes.  So each 45 byte file is actually 2K, and I can't
>afford the space!

Right, so don't use batch files.  Instead, get any of the command-line
enhancers, such as Anarkey, that have an aliasing facility.  These will
allow you to store the aliases, using only the amount of memory needed
for the actual character strings.  You generally set the aliases up in
a file, and your autoexec.bat loads them at boot time.  An example of
an alias might be:

DS  C:\UTILS\NORTON50\DS

Now, if you enter the command:  DS /ne   and hit return, what actually
gets handed to command.com after the alias is expanded is:
C:\UTILS\NORTON50\DS /ne
Unlike a batch file, there's no need to specify %1, %2, %3, etc. in the
alias specification unless the arguments are not just "trailing" at the
end of the line.  This is the most basic type of aliasing example I could
think of, there are lots more tricks'n'stuff available!  Anarkey does
some other great things for you, like filename expansion, but if you
only need the aliasing feature you can save some memory by using one
of the older command line enhancers, such as ndosedit.


>5.  "Use 4DOS"
>
>I HAVE to stay with DOS as much as I hate it since I am a DOS developer.  I
>can't even have the SMALLEST incompatibilites with something.

Brian, 4DOS only replaces command.com.  It does not replace any of the
bios or the dos function software.  It will have absolutely zero effect
on any software you develop/compile, other than making it a heck of a
lot easier to do!  By replacing the command line interpreter, you replace
things like "how does my 'copy' command work" and "how does my 'del'
command work?"  It doesn't do things like replace how the user's INT21
works.  It isn't possible for someone to find a difference between code
compiled/developed on a machine using 4dos versus one using command.com.

>6.  "Switch to UNIX/VMS/APPLE/AMIGA/SOMETHING ELSE"
Yeah, well, a little sparcstation running openwindows WOULD be nice!

One last thing, there are utility packages out there for changing
your path on the fly.  Cpath is one such package, available from
simtel20 & the mirrors.

>PS Thanks for the help anyway....this is highly annoying.

I'm sorry you're having problems; finding an optimal disk organization
for a large DOS development system can be a pain.

Good luck!
Dave Doerschuk
doerschu@rex.cs.tulane.edu