[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Part1 - Part2 - Part3 - Part4 - Part5 - Single Page

Top Document: comp.os.msdos.programmer FAQ part 4/5
Previous Document: - How can a program set DOS environment variables?
Next Document: - How can I write a TSR (terminate-stay-resident utility)?


- How can I change the switch character to - from /?



 Under DOS 5.0 and above you can not. INT 21 AX=3700, get switch
 character, always returns a '/' (hex 2F). But the DOS commands don't
 even call that function: they simply hard code '/' as the switch
 character.

 Some history: DOS used to let you change the switch character by using
 SWITCHAR= in CONFIG.SYS or by calling DOS function 3701. DOS commands
 and other programs called DOS function 3700 to find out the switch
 character. If you changed the switch character to '-' (the usual
 choice), you could then type "dir c:/c700 -p" rather than "dir c:\c700
 /p". Under DOS 4.0, the DOS commands ignored the switch character but
 functions 3700 and 3701 still worked and could be used by other
 programs. Under DOS 5.0, even those functions no longer work, though all
 DOS functions still accept '/' or '\' in file specs.

 You can reactivate the functions to get and set switchar by using
 programs like SLASH.ZIP or the sample TSR called SWITCHAR in
 amisl091.zip (see <Q:08.06> [How can I write a TSR
 (terminate-stay-resident utility)?]). DOS commands will still use the
 slash, but non-DOS programs that call DOS function 3700 will use your
 desired switch character. (DOS replacements like 4DOS may honor the
 switch character for internal commands.)

 Some readers may wonder why this is even an issue. Making '-' the switch
 character frees up the front slash to separate names in the path part of
 a file spec. This is easier for the ten-fingered to type, and it's one
 less difference to remember for commuters between DOS and Unix. The
 switch character is the only issue, since all the INT 21 functions
 accept '/' or '\' to separate directory names.



Top Document: comp.os.msdos.programmer FAQ part 4/5
Previous Document: - How can a program set DOS environment variables?
Next Document: - How can I write a TSR (terminate-stay-resident utility)?

Part1 - Part2 - Part3 - Part4 - Part5 - Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
jeffrey@carlyle.org (Jeffrey Carlyle)

Last Update October 22 2009 @ 05:28 AM

Some parts © 2009 Advameg, Inc.