home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / CMCD0704.ISO / Software / Complet / FreeDOS / fdbootcd.iso / FREEDOS / PACKAGES / BASE / DISK05 / SUBSTX.ZIP / HELP / SWSUBST.EN < prev   
Encoding:
Text File  |  2000-08-05  |  25.2 KB  |  661 lines

  1.  
  2.  
  3.  
  4. SWSUBST(1)                                             SWSUBST(1)
  5.  
  6.  
  7. NNAAMMEE
  8.        swsubst - CDS manipulator
  9.  
  10. SSYYNNOOPPSSIISS
  11.        swsubst { option | command } [ arguments ]
  12.  
  13.        Valid  _o_p_t_i_o_n_s are: /h /?  /# /!  /a /f /k /t /_ /d /x and
  14.        /o
  15.  
  16.        Valid _c_o_m_m_a_n_d_s are: /m /c /j /u /q /s /r /l /n /w
  17.  
  18.        Instead of the name _s_w_s_u_b_s_t the following names alter  the
  19.        default  setting  of  _s_w_s_u_b_s_t _j_o_i_n _s_u_b_s_t _m_k_d_i_r _c_h_d_i_r _q_u_e_r_y
  20.        _s_w_a_p _w_h_i_c_h _-_j_o_i_n _-_m_k_d_i_r _-_c_h_d_i_r _-_q_u_e_r_y _-_s_w_a_p  _d_r_v_l_i_s_t  _m_c_b_-
  21.        _l_i_s_t _-_w_h_i_c_h
  22.  
  23. DDEESSCCRRIIPPTTIIOONN
  24.        _s_w_s_u_b_s_t is designed to manipulate the CDS ( D S is access-
  25.        able.  By  renaming  or  by  copying  of  the   executable
  26.        swsubst.exe  to  one of the above mentioned file names one
  27.        command switch is automatically inserted right  after  the
  28.        executable's  name,  e.g.   "query  /a c:+net" is equal to
  29.        "swsubst /q /a c:+net". Only _j_o_i_n and _s_u_b_s_t have an  addi-
  30.        tional  meaning  by  restricting _s_w_s_u_b_s_t to conform to the
  31.        DOS standard tools with the same name.
  32.  
  33.        Unnecessary options, or options which has no meaning  with
  34.        the invoked command, are scanned and ignored.
  35.  
  36.        A path specification can be logical or physical. The drive
  37.        specification of a physical drive means that drive,  which
  38.        got that letter while booting. The logical drive specfica-
  39.        tion is the one typed on the command line, e.g.  after the
  40.        command "SUBST C: E:FREEDOS", the logical drive specifica-
  41.        tion "C:" is the physical "E:", that  means,  if  the  DOS
  42.        Prompt  says:  "C:>",  that  is  the  "original" directory
  43.        "E:FREEDOS". The "original" drive "C" is no longer  avail-
  44.        able.
  45.  
  46.        In  order  to  remove  that  limitation a leading dash '-'
  47.        indicates a physical path. So after "SUBST D:  C:RCE"  the
  48.        logical drive "D:" will point into "E:FREEDOSRCE", whereas
  49.        after "SWSUBST D: -C:RCE" drive "D:" points into  "C:RCE".
  50.        _N_o_t_e_:  If  a physical path is not fully qualified, it will
  51.        be qualifed  according  to  the  logical  current  working
  52.        directory.
  53.  
  54.        Drive specifications are also enhanced:
  55.        Where  only  a  drive  specification is expected, a single
  56.        letter acts a drive letter as  well  as  a  full-qualified
  57.        path.
  58.        Besides  these  methods, it is possible to specify a drive
  59.        specification by the name of  its  driver  or  its  volume
  60.        label.  Driver  names  are specified with ":*:", where "*"
  61.  
  62.  
  63.  
  64.                            22 May 1995                          1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SWSUBST(1)                                             SWSUBST(1)
  71.  
  72.  
  73.        stands for the up to eight characters long  name.  Because
  74.        one  driver  may  handle  several  drives, a number can be
  75.        specified, like ":#:*:", where "#" stands  for  the  zero-
  76.        based  number  and "*" for the driver name.  _N_o_t_e_: Not all
  77.        drivers have a name.
  78.        The search for a volume label is activated by using "::*:"
  79.        or  ":-:*:", where "*" stands for the volume label and the
  80.        optional dash '-' causes to temporarily release SUBST  and
  81.        JOIN relations.
  82.        While  scanning, the drives are searched in the order: A:,
  83.        B:, ...  If one drive does not respond, it is ignored.
  84.        The names are case-insensitive and are matched,  that rthe
  85.        characters  specified  with  "*" must lead the name, e."g.:
  86.        ":1:stac:os" means: The path ".br  And  "-:-:hd_c:\foomns:
  87.        the  path  "FOOBAR"  on  the  physical drive, which voelume
  88.        label starts with "HD_C".  _N_o_t_e_: The dash '-'  within  the
  89.        colons ":-:" stands for: "retrieve the physical drive let-
  90.        ter", whereas the dash '-' before the first  colon  stands
  91.        for "treat the following path as a physical one".
  92.  
  93.  
  94.  
  95. OOPPTTIIOONNSS
  96.        special names
  97.               _j_o_i_n  _s_w_s_u_b_s_t  to  act like the standard JOIN.  See
  98.               the help page for join.
  99.               _s_u_b_s_t _s_w_s_u_b_s_t to act like the standard SUBST.   See
  100.               the help page for subst.
  101.               _m_k_d_i_r and _-_m_k_d_i_r add the /m command.
  102.               _c_h_d_i_r and _-_c_h_d_i_r add the /c command.
  103.               _q_u_e_r_y and _-_q_u_e_r_y add the /q command.
  104.               _s_w_a_p and _-_s_w_a_p add the /s command.
  105.               _w_h_i_c_h and _-_w_h_i_c_h add the /w command.
  106.               _-_j_o_i_n adds the /j command.
  107.               _d_r_v_l_i_s_t adds the /r command.
  108.               _m_c_b_l_i_s_t adds the /l command.
  109.               Any other name defaults to the /u command.
  110.  
  111.  
  112.        /? and /h
  113.               Display a help screen.
  114.  
  115.        /#     Causes  _s_w_s_u_b_s_t  to  display  the  statistic  about
  116.               JOIN'ed drives, when it dumps the  CDS  table.   It
  117.               displays  the number of JOIN'ed drives according to
  118.               the CDS and the number retrieved fromout DOS inter-
  119.               nal data structures. When these differ, it's possi-
  120.               ble, that the system will not work correctly.
  121.               If this option is used twice, it cancels the effect
  122.               of the previous one.  It also cancels the effect of
  123.               /!
  124.  
  125.        /!     This option displays the  JOIN'ed  drive  statistic
  126.               under  the  CDS  table  and  updates  the  internal
  127.  
  128.  
  129.  
  130.                            22 May 1995                          2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SWSUBST(1)                                             SWSUBST(1)
  137.  
  138.  
  139.               number, if both differ.
  140.               When this option is  given  twice,  the  second  is
  141.               ignored.
  142.  
  143.        /a     After the given command has been processed success-
  144.               fully, the CDS table should be printed. If the com-
  145.               mand  itself  orders  to  dump the CDS table, it is
  146.               displayed only once.
  147.               This options also causes to display unused entries.
  148.               A second /a option cancels the effect of the previ-
  149.               ous one.
  150.  
  151.        /f     There is a little space within the device  drivers,
  152.               where  their names can be stored. Normally the part
  153.               of the name from the frist available byte up to the
  154.               first  non-printable charchater forms the name.  If
  155.               this option is given, the whole name is  displayed,
  156.               non-printable  characters  are  displayed in a hex-
  157.               adecimal manner, like , where ?? are the  two  hex-
  158.               adecimal numbers for that value.
  159.               A second /f option cancels the effect of the previ-
  160.               ous one.
  161.  
  162.        /_     Normally only a subset of the  16  available  flags
  163.               are  displayed.  This  option enables a little map,
  164.               where the named flags: Networked, Physical, Joined,
  165.               Substed,  and  Hidden are marked with their capital
  166.               letter, if they are set; the others  will  be  dis-
  167.               played  as  a  plus  '+'. If a flag is not set, its
  168.               positions is overwritten by a dash '-'.
  169.               A second /_ cancels the effect of the previous one.
  170.  
  171.        /k     Causes  _s_w_s_u_b_s_t  to  create  the path if necessary,
  172.               e.g. whren  invoking  the  command  "swsubst  /k  f:
  173.               c:\foo"  _N_o_t_e_: This feature is disabled by default!
  174.               This o.ption cancels the effect of a previous /t and
  175.               /k
  176.  
  177.        /t     Causes  _s_w_s_u_b_s_t  to  test, if the desired paths are
  178.               available, if not the command is aborted.
  179.               This option cancels the effect of a previous /t and
  180.               /k
  181.  
  182.        /d     This  is  not  really a options and is for use only
  183.               with the commands /j and /u and acts like a  /d  as
  184.               the second argument.
  185.               The second /d cancels the effect of a previous one.
  186.  
  187.        /o=#   This option is also for the commands /u and /j only
  188.               and overwrites the fromout the path-argument deter-
  189.               mined backslash offset.  Use with caution!
  190.               A second option will overwrite a previous one.
  191.               The number # must be within the range 0..66 and can
  192.               be  given  in C notation. That means, if the number
  193.  
  194.  
  195.  
  196.                            22 May 1995                          3
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SWSUBST(1)                                             SWSUBST(1)
  203.  
  204.  
  205.               starts with either "0x" or "0X", the rest  will  be
  206.               treated hexadecimal, if the number starts with "0",
  207.               the rest will be treated octal, and if  the  number
  208.               starts  with a number from "1" to "9", it's treated
  209.               decimal.  When # is zero, this option  is  disabled
  210.               and  the backslash offset is determined fromout the
  211.               path argument.
  212.               This option is needed to use network  paths,  which
  213.               normally  do not conform to the DOS path specifiac-
  214.               tion.
  215.  
  216.        /x=??  This  option  specifies  the  drives,   which   are
  217.               excluded  while searching for the drive of a volume
  218.               label via the enhanced "::*:" drive  specification.
  219.               Each  Option  cancels  the effect of a previous one
  220.               and /x= excludes no drive.
  221.               This option is very useful to  exclude  the  floppy
  222.               drives, because scanning them with no floppy loaded
  223.               uses an huge amount of time.
  224.  
  225.        /m     This command accepts any number of arguments, which
  226.               are  treated  as path specifications. Those will be
  227.               created along with the full path to them.
  228.  
  229.        /c     This command accepts  exactly  one  argument.  This
  230.               argument  is treated as a path specification, which
  231.               is made with the /k command. If this  was  success-
  232.               ful,  the current working directory and the current
  233.               disk will be set to that path.
  234.  
  235.        /j     This acts like _J_O_I_N without the restrictions.
  236.               There are two formats:
  237.               1) dr ( /d | - )
  238.               which will release any existing SUBST or JOIN rela-
  239.               tion  of  the  logical drive dr and is equal to " -
  240.               _s_w_s_u_b_s_t tries to determine  the  settings  of  this
  241.               physical drive while boot time.
  242.               2) dr1 [
  243.               which  will release any exising SUBST or JOIN rela-
  244.               tion of the logical drive dr1 and joins it into the
  245.               path  of drive dr2 optional dash indicates a physi-
  246.               cal path. A logical path will be transformed into a
  247.               physical  by  the  DOS  call  _t_r_u_e_n_a_m_e path is only
  248.               upper-cased and fully qualified. To omit this, too,
  249.               a  second dash must be placed in front the optional
  250.               one.  _N_o_t_e_: Drives starting  with  two  backslashes
  251.               "\\"  are  treated  as networked drives and preceed
  252.               the path with one dash automatically.
  253.               When DOS displays a path, it can skip some  charac-
  254.               ters. This is called backslash offset for networked
  255.               paths by _s_w_s_u_b_s_t for sure, the /o  is  offered  and
  256.               the offset can be altered manually.
  257.  
  258.        /u     Is equal to /j
  259.  
  260.  
  261.  
  262.                            22 May 1995                          4
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SWSUBST(1)                                             SWSUBST(1)
  269.  
  270.  
  271.        /q     This  command test the drive flags, if they are set
  272.               according to the specified  flags.  The  syntax  is
  273.               equal  to  set  drive  flags mode '=' and the flags
  274.               "ON" and "OFF" are not allowed.
  275.               _s_w_s_u_b_s_t returns the result to the  calling  process
  276.               via  the  errorlevel.   An errorlevel of zero indi-
  277.               cates, that the flags are set  equally;  an  error-
  278.               level greater than zero indicates, that they arn't.
  279.  
  280.        /r     This command accept up to one argument. It  enables
  281.               to  display  and search in the device driver chain.
  282.               The chain is displayed, when  the  command  has  no
  283.               additional argument, or when the argument is either
  284.               '+' or '-'.
  285.               The output looks like:
  286.               NUL
  287.               CON      <<D>> ANSI
  288.               MSCD001  <<D>> SGCDU
  289.               EMMXXXX0 <<D>> EMM386
  290.               CON
  291.               AUX
  292.               PRN
  293.               CLOCK$
  294.               COM1
  295.               LPT1
  296.               LPT2
  297.  
  298.               The names left of the "<< >>" are the driver names,
  299.               the  character  within the "<< >>" is the MCB type,
  300.               and the names right of the "<< >>" are the names of
  301.               the  file. Latter is a favour of the routine, which
  302.               has been loaded the driver, so it might be  missed.
  303.               The  MCB  type itself was invented with DOS version
  304.               4.
  305.  
  306.               The search is activated, when the additional  argu-
  307.               ment is neither '+' nor searched, too. For matching
  308.               an leading '+' or '-' is stripped.
  309.               The errorlevel is set to zero, if  the  search  was
  310.               successful, otherwise to a value greater than zero.
  311.  
  312.        /l     This command accept up to one argument. It  enables
  313.               to  display  and search in the MCB ( C B displayed,
  314.               when the command has  no  additional  argument,  or
  315.               when the argument is either '+' or '-'.
  316.               The output looks like:
  317.               0x0264 M 0x01e4 nam=SD sys:data
  318.               0x0265     D    0x0048    nam=HIMEM    drv=XMSXXXX0
  319.               sys:device_driver
  320.               0x02ae    D    0x00c3    nam=EMM386    drv=EMMXXXX0
  321.               sys:device_driver
  322.               0x0372 F 0x0082 nam=ilegiert sys:FILES
  323.               0x03f5 X 0x0005 sys:FCBS
  324.               0x03fb B 0x0020 sys:BUFFERS
  325.  
  326.  
  327.  
  328.                            22 May 1995                          5
  329.  
  330.  
  331.  
  332.  
  333.  
  334. SWSUBST(1)                                             SWSUBST(1)
  335.  
  336.  
  337.               0x041c L 0x002c sys:LASTDRIVE
  338.               0x041d A 0x0000 own#0x5c3a
  339.               0x0449 M 0x0004 nam=SC sys:code
  340.               0x044e M 0x0003 own=COMMAND
  341.               0x0452 M 0x00bc nam=COMMAND
  342.               0x050f M 0x0040 nam=arameter env=COMMAND
  343.               0x0550 M 0x001d env=SWSUBST
  344.               0x056e M 0x020f nam=sgcdu
  345.               0x077e M 0x03de nam=MSCDEX
  346.               0x0b5d M 0x1aa3 nam=SWSUBST
  347.               0x2601 Z 0x79fd sys:free sys:end_of_chain
  348.               0x9fff M 0x1159 nam=SC sys:code
  349.               0xb159 M 0x0107 nam=SD sys:data
  350.               0xb15a D 0x0106 nam=ANSI drv=CON sys:device_driver
  351.               0xb261 M 0x0003 sys:free
  352.               0xb265 M 0x0598 sys:free
  353.               0xb7fe M 0x2002 nam=SC sys:code
  354.               0xb7ff M 0x2000 nam=SM sys:memory
  355.               0xd801 M 0x07d5 nam=SMARTDRV
  356.               0xdfd7 Z 0x1028 sys:free sys:end_of_chain
  357.  
  358.               The  elements have the following meaning, from left
  359.               to right:
  360.               + The address of the  MCB.  It's  hexadezimal,  and
  361.               always preceeded by "0x".
  362.               + The type of the MCB. It might be a space.
  363.               +  The  number  of associated paragraphs. It's also
  364.               always hexadecimal and preceeded by "0x". This num-
  365.               ber will be displayed only, if the argument "+" has
  366.               been given.
  367.               + A *guess*, what this MCB is for. This can be  any
  368.               combination of the following items:
  369.               ++  nam=???.  The name of the loaded program, which
  370.               is read directly out of this MCB.
  371.               ++ env=???. The name of  the  program,  which  owns
  372.               this MCB as its environment.
  373.               ++ drv=???. The name of the driver, which owns this
  374.               MCB.
  375.               ++ own=???. The name of  the  program,  which  owns
  376.               this MCB.
  377.               ++  sys:???.  This is memory controlled by the sys-
  378.               tem. "???" stands  for  the  type  of  data  stored
  379.               there.  A  special  meaning has "sys:end_of_chain",
  380.               what indicates the last MCB in the chain.
  381.               The names need not be stored  within  the  MCB;  if
  382.               there should be a name, these items are substituted
  383.               by an item of the  format:  "*#0x????",  where  "*"
  384.               stands  for  the item type (the first three charac-
  385.               ters), and "????"  stands for the 4-digit hexadezi-
  386.               mal value of the owner's MCB.
  387.               The  output  is  designed  as  input  for programs.
  388.               Therefore the elements contains no  spaces  itselfs
  389.               and  each  MCB is printed on its own line.  Because
  390.               _s_w_s_u_b_s_t tries to determine  a  sub-chain  within  a
  391.  
  392.  
  393.  
  394.                            22 May 1995                          6
  395.  
  396.  
  397.  
  398.  
  399.  
  400. SWSUBST(1)                                             SWSUBST(1)
  401.  
  402.  
  403.               MCB,  these  sub-chains  are indented. But this can
  404.               lead into false  entries.  This  is  shown  at  the
  405.               beginning of the above example (s. 0x041d).
  406.               The  above  example  contains  two MCBs marked with
  407.               "sys:end_of_chain".  This behaviour  bases  on  the
  408.               way  later DOS versions manage the memory by divid-
  409.               ing into two chains; one in the  conventional  mem-
  410.               ory, the other in the UMBs.
  411.  
  412.               The  search is activated, when the additional argu-
  413.               ment is neither '+' nor character is  an  '+',  the
  414.               name determined fromout the MCBs (which follows the
  415.               "nam=" item in the MCB  chain  display)  must  only
  416.               start  with  the  argument. For matching an leading
  417.               '+' or '-' is stripped.
  418.               The errorlevel is set to zero, if  the  search  was
  419.               successful, otherwise to a value greater than zero.
  420.  
  421.        /s     This command requires two arguments. Both are logi-
  422.               cal drive specifications, which are simply swapped.
  423.  
  424.        /n     This command  is  closely  related  to  /s  entries
  425.               within the CDS, but tries to swap their unit number
  426.               of the device  driver.  This  requires,  that  both
  427.               drives  share  the  same device driver. That is the
  428.               only way to swap the floppies, for some reason.
  429.               If there is no argument to this command,  it  tries
  430.               to identify both floppies and swaps them; otherwise
  431.               two arguments must be specified, which  are  to  be
  432.               swapped.   _C_a_u_t_i_o_n_:  Better do not use this command
  433.               on hard disks.
  434.               This swap will not be resetted, neither by the com-
  435.               mands  - -- and /d nor by directly manipulating the
  436.               drive flags, e.g. "X:=OFF" or "X:=ON". Them must be
  437.               swapped again or the computer must be rebooted.
  438.  
  439.        /w     This  command requires one argument, treats it as a
  440.               drive specification  and  translates  it  into  the
  441.               drive  letter.  This  will  returned via the error-
  442.               level.
  443.               An errorlevel between 65 (ASCII 'A') and 90  (ASCII
  444.               'Z')  indicates  OK  and  the  drive letter itself;
  445.               whereas a errorlevel of zero indicates, that  there
  446.               is no such drive; and other errorlevels indicate an
  447.               error.
  448.  
  449.  
  450.        without any command switch
  451.               In that case the arguments decide, what command  is
  452.               invoked:
  453.  
  454.        without arguments
  455.               This will dump the CDS table onto screen:
  456.  
  457.  
  458.  
  459.  
  460.                            22 May 1995                          7
  461.  
  462.  
  463.  
  464.  
  465.  
  466. SWSUBST(1)                                             SWSUBST(1)
  467.  
  468.  
  469.               H  0000:0000  NET  ....  PHYS  ..... HIDDEN \H.1.br
  470.               ==>.MSCD001 .<==        _NP------H-------_
  471.               Number of JOIN'ed drives per CDS 0  per flag: 0  =>
  472.               seems OK
  473.  
  474.               Line 1 from left to right:
  475.               + logical drive letter
  476.               + far address of DPB
  477.               + NETWORKED flag set
  478.               + JOINED flag not set
  479.               + PHYSICAL flag set
  480.               + SUBST flag not set
  481.               + HIDDEN flag set
  482.               +  physical  path. The double quote marks the _b_a_c_k_-
  483.               _s_l_a_s_h _o_f_f_s_e_t characters to the left are  not  visi-
  484.               ble.  If  the  path  points to "A:" or "B:" and the
  485.               unit number has been changed, for example  by  com-
  486.               mand  /n the string " => X:" is appended, where 'X'
  487.               stands for the  possible  drive  letter  this  path
  488.               points to.
  489.  
  490.               Line 2:
  491.               +  driver  name. The "==>..<==" are not part of the
  492.               name.
  493.               + full set of flags. Caused by the /_ options.  The
  494.               "_"  surrounding the flags does not effect the val-
  495.               ues.
  496.  
  497.               Line 3:
  498.               JOIN'ed drives statistic: both numbers  are  equal,
  499.               so there schould be no error.
  500.               Unless the /a options is enabled, only used and the
  501.               last entries are displayed.
  502.  
  503.        one argument: either - or --
  504.               - will remove  all  SUBST  and  JOIN  relations  by
  505.               invoking  the  command  "/u  dr:  /d"  on  all such
  506.               drives;
  507.               -- does the same but for all not networked  drives.
  508.  
  509.        set drive flags
  510.               This requires exacly one argument in the syntax: dr
  511.               - means: unset or is not set; + = other flags.
  512.               The following flags are available: OFF  switch  the
  513.               drive  OFF,  it  is no more accessable; ON switch a
  514.               drive ON (This is _N_O_T the reversal of OFF, but  the
  515.               invoking  of  the  command  "/u dr: /d".); PHYSICAL
  516.               JOIN NETWORK SUBST HIDDEN refer to  the  associated
  517.               flag;  and  a number between 0 and 15 refers to the
  518.               bit.
  519.               All flags but ON can be abbreviate down to a single
  520.               letter.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                            22 May 1995                          8
  527.  
  528.  
  529.  
  530.  
  531.  
  532. SWSUBST(1)                                             SWSUBST(1)
  533.  
  534.  
  535.        in all other cases
  536.               is the command /u assumed.
  537.  
  538. SSEEEE AALLSSOO
  539.        subst, join.
  540.  
  541. KKNNOOWWNN BBUUGGSS
  542.        o      A  relative  physical  path is qualified by logical
  543.               components.
  544.  
  545.        o      Sometimes the manipulation by the non-standard pos-
  546.               sibilities  fails;  then either the system locks up
  547.               or a harmless 'Cannot find *.*' error message beeps
  548.               up.
  549.  
  550.        o      To  turn  ON  a  drive is the opposit of turning it
  551.               OFF. For local hard disks this  works;  for  device
  552.               driver  driven  drives  sometimes;  and for CD-ROMs
  553.               seldom.
  554.  
  555.        o      Works  on  MS-DOS  compatibles  only,  but  doesn't
  556.               check, if it is.
  557.  
  558.        o      This  program  does  some  error checking, but much
  559.               could be valid, but locks  the  system  in  several
  560.               cases.
  561.  
  562.        o      Several  commands,  like /s /u /j 32 bit access and
  563.               the ability to hold  the  permanent  swap  file  of
  564.               Microsoft Windows 3+ on the used drives.
  565.  
  566. EEXXAAMMPPLLEESS
  567.        swsubst /w ::HD_e:
  568.               Checks,  if an hard disk with a label starting with
  569.               "HD_E" is currently available via a  logical  drive
  570.               letter. The result can be checked with:
  571.  
  572.               swsubst /w ::hd_e:
  573.               if errorlevel 91 goto error
  574.               if errorlevel 90 echo Drive Z:
  575.               if errorlevel 89 echo Drive Y:
  576.               if errorlevel 65 echo Drive A:
  577.               if errorlevel 1 goto error
  578.               if  not errorlevel 1 echo No volume with label HD_E
  579.               found!
  580.  
  581.               With 4DOS e.g.:
  582.  
  583.               iff %? .LE. 90 .AND. %? .GE. 65 then
  584.               echo Drive %@char[%?]
  585.               elseiff errorlevel 1 then
  586.               echo error
  587.               else
  588.               echo There is no volume with label HD_E
  589.  
  590.  
  591.  
  592.                            22 May 1995                          9
  593.  
  594.  
  595.  
  596.  
  597.  
  598. SWSUBST(1)                                             SWSUBST(1)
  599.  
  600.  
  601.               endiff
  602.  
  603.        swsubst /s e ::HD_e:
  604.               Swap the drive currently accessable via the logical
  605.               drive  letter  E:  and  the  drive  with  the label
  606.               "HD_E". Doing so can ensure, that the drive  "HD_E"
  607.               is  always  accessable  via  the  drive  letter E:.
  608.               _N_o_t_e_: Have a look at the Known Bugs section!
  609.  
  610. CCOONNTTRRIIBBUUTTEERRSS
  611.                              Steffen Kaiser
  612.                          Mittelstra'ae 112/B115
  613.                      53757 Sankt Augustin - Menden
  614.                          Deutschland - Germany
  615.  
  616.                 e-mail: Steffen.Kaiser@@FH-Rhein-Sieg.DE
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.                            22 May 1995                         10
  659.  
  660.  
  661.