[comp.sys.ibm.pc] CDD - a un*xlike CD for MSDOS

wsiebeck@rmi.UUCP (Wolfgang Siebeck) (10/11/87)

CDD is a substitute for the brain-damaged CD command of MSDOS. It 
works like the UN*X cd with some extensions for MSDOS. CDD makes heavy 
use of environment-variables, so you should have a line in your 
CONFIG.SYS like 

SHELL=C:\COMMAND.COM /P /E:nn 

where nn ist the number of paragraphs (for DOS 3.1) or bytes (for DOS 
3.2 and newer). I use DOS 3.2 with nn == 1024. 

Best use of CDD is as a synonym for the CD. To enable this, use CED or 
DOSEDIT with the alias function.

For CED:
========
Include a line like `SYN CD C:\UTIL\CDD.COM' in CED.CFG

For DOSEDIT:
============
Include a line like `CD C:\UTIL\CDD.COM' in your alias list. 


The features:
=============

- CDD supports wildcards in your directory name.
- CDD changes the default drive, if a drivename is given.
- CDD supports a un*xlike home directory. Include
  `SET HOME=C:\BIN\LANG\C\SRC\NEW\PROJECT' in your AUTOEXEC.BAT. A 
  simple `CDD' will take you there, whereever on your disk you are 
  lost.
- CDD supports directory names from the environment. Include multiple 
  `SET ...=...' lines in your AUTOEXEC.BAT, for example, 
  `SET TC=D:\TURBOC\SRC'. A CDD $TC will take you there.
- CDD.C NEEDS TurboC to compile.


The differences:
================

CDD without arguments takes you to $HOME. If $HOME is undefined, 
nothing happens. The DOS internal command CD without argument will 
give the current directory, a total useless features since PROMPT $P$G 
will do that better!!


The apology:
============

- This is my first posting, please: NO FLAMES!

- This program was hacked together as a quickie, you might do it much
  nicer, but it works for me.


The works:
==========

Included is a ARC, which contains the following:

Filename        Length   Method     Size 
--------        ------   ------    ------
CDD.C             5221  Crunched     2317
CDD.COM           5080  Crunched     4104
MAKEFILE           245  Crunched      179
----            ------             ------
0003             10546               6600

========================== C U T  H E R E ========================
begin 644 cdd.arc
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
="10;.WXLDH(PD\,WA31NT88.X2.$G_3%J $C&@!:
 
end

========================== C U T  H E R E ========================