Command: join / subst / swsubst

  FreeDOS uses SWSUBST instead of SUBST and JOIN.
  SWSUBST combines subst with join with enhanced options.
  SWSUBST replaces a path by a drive letter so that you have access to
  a path via a drive letter.
  (CDS: Current directory structure)

Syntax:

  swsubst [option] [command]
  If swsubst is used without specifying a command, the CDS table is
  displayed. (CDS: Current directory structure)

Options:

  /#     View the statistic of JOIN'ed drives in the CDS table.
  /!     Like /#; initialize the JOIN-flag, if it differs.
  /f     View non-printable characters hexadecimal.
  /a     View the CDS table after the command.
  /k     Create the paths mentioned within the command.
  /t     Like /k, in SUBST check only, if path exists.
  /_     Dump all attributes within the CDS table.
  /o=#   Use this backslash offset, do not calculate itself.
  /x=??  List of drive letters to be ignored while a ::label: search

  Without command: displays the CDS table.
  Commands:
  -                      Initialize all SUBST'ed and JOIND'ed drives.
  --                     Initialize all non-networked drives.
  dr [-]path             Like /u dr [-]path.
  /u dr [-]path          Substitute dr to point to path.
  /j dr [-]path          Join dr into path.
  /d dr | dr /d | dr -   Initialize drive dr (and break SUBST/JOIN).
  /s dr1 dr2             Swap dr1 and dr2.
  /n [dr1 dr2]           Swap unit numbers of the same device driver
                         (Std.: floppies).
  /w dr                  Set ERRORLEVEL to the drive letter of drive.
  /m [-]path             Create path including all leading up-directories.
  /c [-]path             Like /m, then chdir into it.
  dr:[+-=]{off,on,phys,net,join,subst,hidden}  Set drive flags directly.
  /q dr:[+-]{phys,net,join,subst,hidden}       Query the drive flags.

Comments:

  The DOS-standard emulating entities of SWSUBST, SUBST and JOIN, have
  the same command line as DOS's have. But they differ in the following
  points:
    - The specified path will be make'ed, including the full path to it,
      e.g. "SUBST c: d:/blah/humpf" creates the path "d:\blah\humpf",
      regardless of if d:\blah exists.
    - You are allowed to break off relations on the fly, that means:
      an already SUBST'ed can be re-SUBST'ed or re-JOIN'ed without
      further note/warning.
    - You are allowed to process a drive with itself, e.g.: "JOIN a:
      a:\blah"
    - The table dump is different, swsubst prints "X: => Y:\PATH" instead
      of "X: is joined to Y:\PATH".
    - You cannot rename the executables SUBST and JOIN.
    - It won't test the DOS version, unless it is necessary for adjusting
      different data structure sizes.
  If you need SUBST or JOIN simply execute: "copy SWSUBST.EXE JOIN.EXE
  or SUBST.EXE".
  An ERRORLEVEL between 65 (ASCII 'A') and 90 (ASCII 'Z') indicates OK
  and the drive letter itself; whereas an ERRORLEVEL of zero indicates,
  that there is no such drive; and other ERRORLEVELS indicate an error.

Examples:

  Example 1 (subst/swsubst):
  md C:\blah
  cd C:\blah
  md humpf
  copy C:\file.x C:\blah\humpf
  swsubst /u f: C:\blah\humpf
  f:
  dir            (You should now see file.x on F: and be able to use it
                 like a regular drive).
  swsubst        Shows that F: is connected with C:\TEST via SUBST
  swsubst /d f:  Drive F: does no longer work.
  
  Example 2 (join /swsubst):
  MD C:\test
  swsubst /j D: C:\test  You should see everything that is on drive D:
                         at C:\test
  Comment: Example 2 did not work on my tests!

See also:

  assign
  errorlevel
  join
  subst
  truename

  Copyright © 1995 Steffen Kaiser, updated 2008 and 2022 by W. Spiegl.

  This file is derived from the FreeDOS Spec Command HOWTO.
  See the file H2Cpying for copying conditions.