home *** CD-ROM | disk | FTP | other *** search
- $Id: SWSUBST.ENG 2.0 1994/12/21 09:16:02 ska Rel ska $
-
- This is the documentation for SWSUBST.EXE.
- Eine deutsche Version dieses Textes befindet sich in SWSUBST.TXT.
-
- Note:
- ++ To use relative paths may cause unexpected results.
- ++ Non-existing paths may force the system into a Dead Lock.
- ++ Networked drives are usable in particular only.
- ++ Do not use SWSUBST within multi-tasking environments, such as
- MS-Windows. Noone knows, what happens there.
- ++ MS-Windows v3.11 (for Workgroups) handles hard drives as networked.
- Therefore, MS Windows resets 32-bit access, when there is a
- SUBST'ed or JOIN'ed drive.
- ++ Because of different CDS this program cannot run on mostly every
- non-Microsoft DOS, including DR-DOS.
- ++ You need at least DOS version 3.00 to allow the basic functions.
- ++ "Physical paths" means a path, which bypasses any SUBST or JOIN
- definition, but not ASSIGN.
- ++ The physical path of networked drives cannot be generated by SWSUBST.
- ++ If the executable is renamed to "JOIN", it acts like JOIN rather than
- SUBST.
-
-
- Short describtion:
- The program SWSUBST:
- - replaces and extends the DOS statements SUBST and JOIN;
- - swaps two logical drives;
- - breaks all SUBST/JOIN relations within a single command;
- - make a full path including the necessary direcories above;
- - allows direct change and testing of the logical drive flags;
- - lists and searches in the MCB chain and the installed devices;
- - accept drives via the driver namens or the volume labels.
- - allows multi-linugual by adding new text files.
-
-
- Garantien:
- SWSUBST ist Freeware; es muß weder Entgeld entrichtet noch eine
- Registrierung durchgeführt werden. Es darf weitergegeben werden, solange
- alle drei Dateien zusammen und unverändert, Ausnahme siehe "Neue Texte
- einbringen", bleiben. Der Weitergebende darf in keiner Weise davon
- profitieren.
-
- Der Autor von SWSUBST kann für keinerlei Schäden haftbar gemacht werden.
- Hierbei ist unerheblich, ob die Schäden direkt oder indirekt entstehen
- oder ob auf die Möglichkeit einer Schädigung hingewiesen wurde, oder
- nicht. Das Programm SWSUBST darf nur auf eigene Gefahr genutzt werden.
-
- Disclaimer
-
- In no event will the Author be liable to users for any damages, including
- but not limited to any lost profits, lost savings or other incidental or
- consequential damages arising out of the use or the inability to use this
- program, even if the Author has been advised of the possibility of such
- damages, or for any claim by other party.
-
-
- SWSUBST is FreeWare; there is no charge for using it and it may be
- distributed freely so long as the files are kept together and unaltered,
- except see "Including of new Texts". You may neither sell nor profit
- from distribution of SWSUBST in any way.
-
-
-
- Contents:
- - Files in the Package
- - Usage of the Program
- - Options
- - Commands
- - Environment variables
- - Diffrences to MS-DOS's SUBST and JOIN
- - Including of new Texts
- - The Author
-
-
-
- Files in the Package:
- SWSUBST.EXE Program
- SWSUBST.TXT Program describtion in German
- SWSUBST.ENG Program describtion in English
- SWSUBST.LNG Supported Languages
-
-
- Usage of the Program:
-
- SWSUBST [ {option} ] [command]
-
- Options:
-
- - Options can be associated with every command, even the command is not
- effected by the particular option.
- - Options cannot be combined together, but there's no fixed order they
- have to follow each other.
- - Environment variables may contain special options.
-
-
- The general form each options is:
- /[+-]?*[!]
-
- where .. stands for:
- / the slash to mark the parameter as option
- [+-] an optional plus or minus. Normally options toggles between the two
- states "off" and "on". In the beginning all options are "off", e.g.
- '/a' toggles option "a" to "on", during '/a /a' toggles option "a"
- to "on" first, and then to "off" back. '/+a' sets option "a" to
- "on", '/-a' to "off". If either the plus or the minus given, [!]
- is ignored.
- ? the character (s. below) representing the option.
- * any (including none) character, which are ignored; e.g. '/a' is equal
- to '/aaaaa', '/a09384809,//.,' but NOT '/aa!'.
- [!] an optional exclamation mark at the far end of the option. This
- activates the special meaning of the option, and is ignored, if
- the option does not have one. The special meaning is
- deactivated, when the option is used for another time; e.g. '/a!
- /a /a' enables option "a" and activates the special meaning of
- "a", then the option is disabled, then enabled again, but
- without the special meaning activated.
-
- Option characters:
- #: Below the CDS table the number of JOIN'ed drives shall be displayed.
- One number is derived from the number of setted flags "JOIN" within
- the CDS, the second is the copy of the "Number of Joined Drives" flag
- fromout the DOS varables area.
- Special meaning: If both numbers differ, set the flag to the counted
- number.
- a: After executing the command the CDS table shall be displayed; it is
- ignored for the commands '/l' and '/m'.
- f: In several places names could be placed. SWSUBST supposes, the names
- are correct, when the characters comes fromout the range from ASCII 32 to
- ASCII 126; that means any printable 7 bit character (no umlauts,
- greek letters, and graphical signs).
- If this option is set to "on", the full name is supposed to be valid.
- When a character does not fit into the range, it is displayed in the
- hexadecimal form: "\x??", ?? stands for the ASCII value of the character
- and is always two characters wide.
- c: Creating of the specified path within the "/u" and "/j" commands is
- the purpose of this option. If the path cannot be created and does
- not exist, a error message occurs. This option is a little bit
- dangerous, because the physical paths must be handled here, which are
- possibly not valid at the moment, so the path is created on a false
- drive or in a false directory.
- Special meaning: Within the "/u" command (SUBST) the path is not
- created, only checked.
- _: All driver attributes, even the one without a (documented) meaning,
- shall be viewed within the CDS table.
-
-
- Commands:
-
- Available Commands:
- Command 1)
- Command 2) dr:{<op><flag>}
- Command 3) /w dr
- Command 4) /s dr1 dr2
- Command 5) /u dr [-]path
- Command 6) /j dr [-]path
- Command 7) /l[!] [device]
- Command 8) /m[!] [name]
- Command 9) -
- Command 10) --
- Command 11) /d dr or dr -
- Command 12) dr [-]path
- Command 13) /k [-]path
- Command 14) /q lw:{<op><flag>}
-
-
- The general form of commands is identical with the one of options, but
- [+-] is not allowed. Abbreviated, "/?" is used further.
-
- The Use of Drive Letters:
- The drive specification is normally '?:', where
- "?" is the drive letter. For abbreviating purpose, the colon ":" may be
- omitted, e.g. 'a:' and 'a' are identical.
- Some device drivers place their name into an unused area. That name
- can be used to identify the drive, too. The syntax is ':???:', where
- the driver name starts with ??? regardless of the upper/lower case, e.g.
- driver "DRIVR-1" is accessable through ':drivr-1:', ':driv:', or even
- ':d:'.
-
- If two or more drivers have the same name, they are numbered started
- from drive A and number 0, e.g.
- A 011c:136a ... .... PHYS ..... A:"\
- ==>.DRIVER.<==
- B 011c:138b ... .... PHYS ..... B:"\
- ==>.DRIVER.<==
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- ==>.DRIVER.<==
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
- Drive A: can be accessed via ':d:', ':dr:' etc.,
- drive B: via ':1:d:', ':1:dr:' etc.,
- drive C: via ':2:d:' etc.
- In the table, the dots '.' are placed by the program behind the '>'
- and before the '<' and may not used in the driver name.
- Note: Spaces are used to separate the program parameters, so spaces
- inside the drive names are not legal.
-
- Another possible generation for drive letters is by searching for a
- volume label. The form is: '::...:' or ':-:...:', where '...' stands
- for the beginning of the label. If the dash '-' is present, SUBST and
- JOIN relations are broken for the test.
- Note: The form ':-:...:' do not imply, that the path is interpreted
- physically.
-
-
- Command 1)
-
- without command
-
- Displays all installed drive letters (by LASTDRIVE in CONFIG.SYS).
-
- The following output is generated: (e.g.)
- A 011c:136a ... .... PHYS ..... ...... A:"\
- _-P--------------_
- B 011c:138b ... .... PHYS ..... ...... B:"\
- _-P--------------_
- C 011c:13ac ... .... PHYS ..... ...... C:"\CC\SWSUBST
- _-P--------------_
- D 011c:13cd ... .... PHYS ..... ...... D:"\
- _-P--------------_
- E 0000:0000 ... .... .... ..... ...... E:"\
- _----------------_
- F 0000:0000 ... .... .... ..... ...... F:"\
- _----------------_
- G 0000:0000 NET .... PHYS ..... HIDDEN \\G.\A."
- ==>.MSCD001 .<== _NP------H-------_
-
- First of all: there are five installed drive letters A: through E:.
-
- The columns have following signification:
- 1 - Logical drive letter. That's the letter DOS users need to access a
- drive.
- 2 - Address of the Disk Parameter Block (DPB), which describes the drive
- in the physical way.
- 3 - NET: states, that the drive is networked, possibly integrated by the
- Network Redirector, e.g. CD-ROM.
- 4 - JOIN: The physical drive is integrated into the directory tree of
- another drive.
- 5 - PHYS: This is always setted and marks the drive as accessible. Even
- at non-physical drives, like DoubleSpace drives, this flag is set.
- 6 - SUBST: The logical drive points into a path of another drive.
- 7 - HIDDEN: A flag to hide the drive from network drivers(?).
- 8 - Physical path: The drive letter should not be mixed up with the
- logical drive letter. Here the drive letter indicates:
- A: first floppy disk drive
- B: second floppy disk drive
- C: primary partition of the first hard disk
- D: primary partition of the second hard disk
- E-?: the other partitions of the first hard disk
- ?-?: the other partitions of the second hard disk
-
- The character '"' is no part of the path itself, it indicates the point
- of the root directory, e.g.
- C The logical path "C:\" is equal to the physical path "C:\".
- D The logical Path "D:\" is equal to the physical path
- "C:\CC\SWSUBST".
-
- The string behind the character '"' stands for the actual path,
- relative to the root directory, e.g. "D:\TEST" und "C:\CC\SWSUBST".
-
- If the device driver placed a name in the unused area, the name
- will be displayed in the line below, like
- ==>.???.<==
- where ??? is the driver name. The length is seven or eigth in maximum.
-
- Right at that name or at the line alone the attributes are placed, if
- option "/_" is ON, e.g.:
- _-P--------------_
- Known attributes are marked with their first letter, if they are set.
- Unknown attributes are marked with '+'; if the attribute is not set, a
- dash '-' is placed. The underscores '_' left and right are always
- placed.
-
-
-
- Command 2) dr:{<op><flag>}
-
- Changes the flags (columns 3 through 6) of drive dr. <flag> can be one
- out of: PHYSICAL, JOIN, SUBST, NETWORK or HIDDEN (case-insensitive,
- abbreviated to a minimum of one character) or an one or two digit wide
- decimal number. The number zero indicates the rightmost attribute.
- <op> may be either '+' for set, '-' for unset, or '=' for set & unset
- all others.
-
- e.g.:
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
- and
- SWSUBST a=j+s
-
- results:
-
- A 011c:136a ... JOIN .... SUBST A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
- and
- SWSUBST a=network=join=phys
-
- results:
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
- There are to special flags 'OFF' and 'ON'.
- OFF disables the drive by unsetting all flags, store 0 as the address of
- the DPB and reset the physical path to the root directory. An operator
- <op> is required but ignored.
- ON must ever be written with 2 letters and enables the drive.
- 'SWSUBST ?:=ON' is equal to 'SWSUBST ? -'. The flag PHYS is set, the DPB
- is searched and the physical path is set to "?:\". 'SWSUBST ?:=OFF=ON'
- need not leave drive ?: as it was before.
-
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
- and
- SWSUBST d:=off
-
- results:
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 0000:0000 ... .... .... ..... D:"\
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
-
-
- Command 3) /w dr
- "which"
-
- Returns the number of the drive in ERRORLEVEL and produce no further
- output.
-
- ERRORLEVEL == 65 => A:
- 66 => B:
- ... ...
-
- ERRORLEVEL == 1 => drive does not exist.
-
- This function might be ingeniously used for map a driver name to its
- drive letter or to check, how many drive letters are installed via the
- LASTDRIVE statement within CONFIG.SYS.
-
- The numbers ranges from 65 (ASCII 'A'), because several DOS command
- processors, like COMMAND.COM, use an ERRORLEVEL from 1 through 12, if
- the load of the program failed.
-
-
-
- Command 4) /s dr1 dr2
- "swap"
-
- Swap the entries of the drives dr1 and dr2.
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
- and
- SWSUBST /s a c
-
- results:
-
- A 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:136a ... .... PHYS ..... A:"\
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
-
- Command 5) /u dr [-]path
- "subst"
-
- Substitute path to the drive letter dr, as DOS SUBST statement does.
- The parameters must have following format:
-
- dr - See above section "The Use of Drive Letters" Networked drives are
- rejected; if the drive is already SUBST'ed or JOIN'ed, this
- relation is boken off.
-
- path - The path to which the drive shall point to.
-
- Is path either "-" or "/d" or "-?:\", where "?" is the drive
- letter dr, previous SUBST or JOIN relations are broken off and
- not reinstalled.
-
- If path is precided by a dash "-", path will not processed by
- the DOS function "truename", instead it is made absolute.
- Because of the different syntax of networked drives, any string
- behind a double dash '--' is not interpreted at all, as a path
- starting with a double backslash '\\'.
-
- A 011c:136a ... .... PHYS ..... A:"\
- B 011c:138b ... .... PHYS ..... B:"\
- C 011c:13ac ... .... PHYS ..... C:"\CC\SWSUBST
- D 011c:13ac ... .... PHYS SUBST C:\CC\SWSUBST"\TEST
- E 0000:0000 NET .... PHYS ..... \\E.\A."
- ==>.MSCD001 .<==
-
- "SWSUBST a: d:\test" substitutes drive A: to point to
- "C:\CC\SWSUBST\TEST"; whereas "SWSUBST a: -d:\test" substitutes
- A: to "D:\TEST".
-
- The dash prevents probing the floppy disk drives while making
- a relative path absolute, e.g.
- SWSUBST a b:
- prompts for Retry/Ignore/Abort, if no floppy has inserted
- into that drive.
- SWSUBST a -b:\
- does not.
-
- Both possibilities differ, so DOS SUBST support the dash-less
- version only· Therefore, it cannot create a new SUBST
- pointing to physical drive D:
-
- ATTENTION: Relative paths may cause unexpected results, chæck below:
- SWSUBST a: -d:
- is equal to 'SWSUBST a: -d:\test'. The physical path is
- absoluted by logical path components.
-
- By default, SWSUBST do not check for the existens of the path.
- The access of non-existing paths may force DOS into a Dead Lock.
- SWSUBST checks or creats the path, when option "a" is "on".
-
- The command '? -?:\', where '?' is the same drive letter, has a
- special purpose. It is equal to '? /d' and breaks any previous
- SUBST'ing or JOIN'ing.
-
-
- Command 6) /j dr [-]path
- "join"
-
- is similar to Command 5), but the path is not SUBST'ed rather than
- JOIN'ed, that means, the access drive dr via path.
-
-
- Command 7) /l[!] [device]
- "list"
-
- When device is omitted, all installed devices including their names
- out of the driver header are outputted. In DOS 5+ the name of the
- executable is printed, too; e.g.
-
- NUL
- IFS$HLP$ <<D>> IFSHLP
- CON <<D>> EANSI
- MSCD001 <<D>> SGCDU
- EMMXXXX0 <<D>> EMM386
- XMSXXXX0 <<D>> HIMEM
- SETVERXX <<D>> SETVER
- CON
- AUX
- PRN
- CLOCK$
- COM1
- LPT1
- LPT2
- LPT3
- COM2
- COM3
- COM4
-
- If the "<< >>" contains the letter 'D', the name behind is likely correct.
-
- When device is permitted, the list is searched for that name starting
- with device. The case is ignored. The command sets ERRORLEVEl to zero,
- when a matching driver name was found, else to a greater number.
- The special meaning: The names after "<< >>" are searched, too.
-
-
- Command 8) /m[!] [name]
- "mcb"
-
- If name is omitted, this command displays the MCB chain including
- the MCB chain in the UMB's and tries to display any chain in a single
- memory block, too; e.g.
-
- 0x025b M SD system_data
- 0x025c D KEYBUFX drv=KEYB-X system_device
- 0x0281 D SETVER drv=SETVERXX system_device
- 0x02a6 D HIMEM drv=XMSXXXX0 system_device
- 0x02ef D EMM386 drv=EMMXXXX0 system_device
- 0x03b3 D IFSHLP drv=IFS$HLP$ system_device
- 0x04a5 F * system_files
- 0x0528 X system_fcbs
- 0x052e B system_buffers
- 0x052f M 0x5b5a
- 0x054f L system_lastdrive
- 0x0550 A 0x5c3a
- 0x057c M SC system_code
- 0x0581 M COMMAND
- 0x0582 C ommEMM 0x4e4f
- 0x0585 M COMMAND
- 0x0647 M drort env=COMMAND
- 0x0688 M env=SWSUBST
- 0x06a3 M SWSUBST
- 0x9fff M SC system_code
- 0xb159 M SD system_data
- 0xb15a D EANSI drv=CON system_device
- 0xb7fe M SC system_code
- 0xb7ff M SM system_memory
- 0xd800 Z UMB
- 0xd801 M SMARTDRV
-
- The format is:
- 0. The spacing illustrates, if the block is placed within the block
- above.
- 1. Address of the memory block in hexadecimal form.
- 2. type of the memory block.
- 3. name of the program, which allocated this block. DOS 5 places the
- name while program loading only; therefore, this item may be empty or
- absurd (see 0x0688 or 0x054f).
- 4. name of the program to whom the memory block is associated. Drivers
- starts with "drv=" and environment with "env=". The hexadecimal form
- "0x<#>" is used, when there is no associated program (what means,
- that this is no MCB or your MCB chain is broken).
- 5. the trial to guess the sense of the memory block (starting with
- "system_").
-
- The special meaning: First, between the type of the memory block and its
- name the length is placed in units to 1 paragraph (16 byte). And second,
- the name is enclosed by ">>" and "<<".
-
- 0x025b M 0x0320 >>SD<< system_data
- 0x025c D 0x0024 >>KEYBUFX<< drv=KEYB-X system_device
- 0x0281 D 0x0024 >>SETVER<< drv=SETVERXX system_device
- 0x02a6 D 0x0048 >>HIMEM<< drv=XMSXXXX0 system_device
- 0x02ef D 0x00c3 >>EMM386<< drv=EMMXXXX0 system_device
- 0x03b3 D 0x00f1 >>IFSHLP<< drv=IFS$HLP$ system_device
- 0x04a5 F 0x0082 >>*<< system_files
- 0x0528 X 0x0005 >><< system_fcbs
- 0x052e B 0x0020 >><< system_buffers
- 0x052f M 0x3001 >><< 0x5b5a
- 0x054f L 0x002c >><< system_lastdrive
- 0x0550 A 0x0000 >><< 0x5c3a
- 0x057c M 0x0004 >>SC<< system_code
- 0x0581 M 0x0003 >><< COMMAND
- 0x0582 C 0x4946 >>ommEMM<< 0x4e4f
- 0x0585 M 0x00bc >>COMMAND<<
- 0x0647 M 0x0040 >>drort<< env=COMMAND
- 0x0688 M 0x001a >><< env=SWSUBST
- 0x06a3 M 0x190b >>SWSUBST<<
- 0x9fff M 0x1159 >>SC<< system_code
- 0xb159 M 0x0077 >>SD<< system_data
- 0xb15a D 0x0076 >>EANSI<< drv=CON system_device
- 0xb7fe M 0x2002 >>SC<< system_code
- 0xb7ff M 0x2000 >>SM<< system_memory
- 0xd800 Z 0x17ff >>UMB<<
- 0xd801 M 0x07d5 >>SMARTDRV<<
-
-
- If name is permitted, the MCB chains are searched for the name. Memory
- blocks marked with "env=" are skipped. The case is ignored. ERRORLEVEL
- is set to zero, when a MCB starting with name is found.
- Special meaning: The name must be exactly like the name enclosed in ">>"
- and "<<".
-
-
- Command 9) -
-
- Breaks off all SUBST and JOIN relations currently exist.
-
-
- Commad 10) --
-
- Runs Command 10) for all not networked drives.
- Note: This command sets the current working directory to the root
- directory.
-
-
- Command 11) /j dr /d
- oder /j /d dr
- oder /j dr -
- oder /u /d dr
- oder /u dr /d
- oder /u dr -
- oder /d dr
- oder dr /d
- oder dr -
-
- Breaks off SUBST or JOIN relation of drive dr. No error occurs, when no
- relation exists. Then the DPB is initialized and the current working
- directory is set to the root directory.
-
-
- Command 12) dr [-]path
-
- The action of this command derived from the name of the executable: If
- SWSUBST has been renamed to "JOIN", command 6) (JOIN) will be executed;
- else command 5) (SUBST).
-
-
- Command 13) /k [-]path
- "make directory"
-
- This command creates the directory path and each required up-directory.
- If the dash '-' is given, the path is physical and bypass any SUBST and
- JOIN.
-
-
- Command 14) /q lw:{<op><flag>}
- "query"
-
- This command is an opposit of command 2) and queries for the driver
- flags. ERRORLEVEL is set to zero, if the flags are set properly, to
- non-zero, if not.
-
- Valid operations <op> are: '+' for "is set" and '-' for "is not set".
- Valid flags <flag> are: PHYSICAL, SUBST, NETWORK, JOIN, HIDDEN and an
- one or two digit decimal number in the range 0..15.
-
-
-
-
- Differences to MS-DOS's SUBST and JOIN:
-
- The correct syntax of MS-DOS's SUBST and JOIN are:
-
- 1) SUBST d: path
- 2) SUBST d: /d
- 3) SUBST
-
- Supported are all three forms, except in form:
- 1) path cannot start with a dash '-' and need not exist;
- already SUBST'ed or JOIN'ed drives will be de-SUBST'ed or
- de-JOIN'ed without warning before;
- 2) not SUBST'ed drives do not cause an error message;
- JOIN'ed drives will be de-JOIN'ed;
- 3) displays not only the SUBST'ed drives, but the whole CDS table.
-
- analogous JOIN.
-
-
-
- Environment Variables:
- SWSUBST accesses the string "%SKAUS% %SKAUS17% %SKAUS17A% %SKAUS17A2%",
- before the command line arguments are parsed.
- Within the string any option (s. Options) may be placed. There are some
- optionsi (case-insensitive), only available using that environment
- variables. Whitespaces before or after '=' are not supported. Unless the
- diagnostic mode is turned on, errors are not reported.
-
- Possible options are:
- 'banner' displays the header line describing the program onto stderr.
- 'nobanner' does not display the program header.
- 'silent' suppresses all output (except banner and ERRORLEVEL).
- This option suppresses legal output, too!
- 'nosilent' does not suppress all output.
- 'errout=..' redirects error messages:
- .. == ! => merge into the standard output
- .. == !# => merge into the output stream number #
- .. <do not start with '!'> => into file ..
- 'errfile=.' string's file, including error messages
- . <empty> => use built-in German texts
- . == # => the number # marks the start of the texts in the
- file of the executional
- . <no number> => the file containing the texts
- [[s. Including of new Texts]]
- 'makeerrfile' dumps the German texts onto the standard output channel
- [[s. Including of new Texts]]
- 'dosish' switches DOS compatibilty on. Only the formats described in
- "Differences to DOS's SUBST and JOIN" are permitted. But
- Format 3) produces DOS's SUBST or JOIN compatible tables.
- JOIN and SUBST are differ like in command 12).
- 'nodosish' switches DOS compatibility off.
- 'diag' switches diagnostic mode off.
- 'nodiag' switches diagnostic mode on.
-
-
-
- Including of new Texts:
-
- All of the linguistic output of the program are configurable, e.g. to
- speak another language. The standard is German.
-
- Follow that steps to perform a change:
- 1) Set one of the four environment variables to "makeerrfile".
- 2) Run the program and redirect the output into a file, e.g.
- "SWSUBST >swsubst.q".
- 3) Reset the environment variable to its old value or remove it.
- 4) Change the file "swsubst.q". But do NOT change the lines ">>#",
- unless you do not want to change to whole text, so you must cut
- the line out.
- Each text cannot exceed the amount of the help screen (text behind
- ">>0"), because this buffers the replacing internally. Therefore, you
- have to redefine the help screen, or do not cut it out of the file.
- Text of the form "%??" is replaced by arguments. You cannot change
- the order of that strings, but you may omit them continuously from
- the end of the text. (Note: That's the format string of a printf()
- statement.)
- 5) To make the changed texts available to the program, change one
- of the four environment variables (SKAUS is not really suitable)
- by inserting the "errfile=" option.
- Variant 1) Set the option to "errfile=...\swsubst.q", where ... is
- the absolute path to the file.
- Variabt 2) Note down the length of the executable. The concate the
- texts's file to the executable, e.g. with
- "copy /b swsubst.exe + swsubst.q swsubst1.exe". [Note: If the last
- characters is not ^Z (ASCII 1A hex or 26 dec) you should append one
- to allow additional text files.] Then set the option to "errfile=#",
- where # is the noted length. This number has to be written in C
- syntax, that means, if it starts with "0x" or "0X", the number is
- hexadecimal; if it starts with "0", the number is octal; else it's
- decimal.
-
- To get the German texts instead of the English ones, set the option
- "errfile=" without any argument. The built-in German texts are enabled
- then. To get the supplied English texts, set the option to "errfile=#",
- where # is the number described in the file "swsubst.lng".
-
- You may share the SWSUBST executable with the concated text files, if
- you mark the changes in the "swsubst.lng" file.
-
-
-
-
- Author:
-
- Steffen Kaiser
- Ernst-Thälmann-Straße 2
- D-39606 Iden
- Deutschland - Germany
-