greenber@timeinc.UUCP (Ross M. Greenberg) (06/11/85)
I'll assue that somebody out there has already modified the code on the PC to allw e to use '/'s instead of the dumb backslash that IBM (Microsoft?) imposed on us... Could somebody send me the patch? Thanks -- ------------------------------------------------------------------ Ross M. Greenberg @ Time Inc, New York --------->{ihnp4 | vax135}!timeinc!greenber<--------- I highly doubt that Time Inc. they would make me their spokesperson. ------ "There's something wrong in the world. There's always been. Something no one has ever named or explained" --- Francisco d'Anconia
rdh@hou2b.UUCP (R.HOWSON) (06/11/85)
The answer to this is of general interest. Please post to network.
klotz@ihuxo.UUCP (Dave Klotzbach) (06/11/85)
> I'll assue that somebody out there has already modified the code > on the PC to allw e to use '/'s instead of the dumb backslash that > IBM (Microsoft?) imposed on us... > > Could somebody send me the patch? > Thanks > > -- > ------------------------------------------------------------------ > Ross M. Greenberg @ Time Inc, New York > --------->{ihnp4 | vax135}!timeinc!greenber<--------- > > I highly doubt that Time Inc. they would make me their spokesperson. > ------ > "There's something wrong in the world. There's always been. Something no one > has ever named or explained" --- Francisco d'Anconia *** REPLACE THIS LINE WITH YOUR MESSAGE *** From the program level, inside assembler code etc., you can always substitute '/' for '\' in the pathname. If your version of PC/MS-dos is 2.1 or later, you can do this by setting your 'switchar' to any thing other than '/'. This is done by adding the following command to your config.sys file: switchar = - or whatever character you prefer. WARNING: this also changes the default value of COMSPEC from [drive]:\command.com to [drive]:/command.com This has been known to cause problems with some of the older public domain programs that did not know that '/' and '\' were interchangable from the program level.
lsmith@ut-ngp.UTEXAS (06/12/85)
*** REPLACE THIS LINE WITH YOUR MESSAGE *** A lot of programs use '/' to specify flags, where Unix usually uses '-'. I assume this is why path names can't have '/'.
maybee@gpp1.UUCP (Joe Maybee) (06/13/85)
In article <549@hou2b.UUCP> rdh@hou2b.UUCP (R.HOWSON) writes: >The answer to this is of general interest. Please post to >network. Include in CONFIG.SYS file the following statement: SWITCHAR=- Only works for DOS 2.X, not 3.X. ----Joe Maybee
bc@cyb-eng.UUCP (Bill Crews) (06/13/85)
DOS 2.x had an undocumented config.sys command called "switchar" that could be used for this, but this was removed in DOS 3.x! Someone may have a patch of some sort, but I would suggest being cautious, because the command interpreter and other DOS programs commonly interpret a '/' as a switch character. This often yields messages such as "Invalid parameter". -- / \ Bill Crews ( bc ) Cyb Systems, Inc \__/ Austin, Texas [ gatech | ihnp4 | nbires | seismo | ucb-vax ] ! ut-sally ! cyb-eng ! bc
bob@nbires.UUCP (Bob Bruck) (06/13/85)
> I'll assue that somebody out there has already modified the code > on the PC to allw e to use '/'s instead of the dumb backslash that > IBM (Microsoft?) imposed on us... > > Could somebody send me the patch? > Thanks > > -- > ------------------------------------------------------------------ > Ross M. Greenberg @ Time Inc, New York > --------->{ihnp4 | vax135}!timeinc!greenber<--------- The reason MS-DOS uses '\' as the directory delimiter is that the slash ('/') is used to indicate SWITCHES in the command line. MS-DOS (PC-DOS) has a call to change the SWITCH character to any character you would like (I use a dash '-' because it is consistant with UNIX conventions). If you change your SWITCH character, the directory delimeter will change to the familiar UNIX convention '/'. The following short program can be entered into DEBUG and saved, all numbers are specified in HEX. MOV AX,3700 ; AH=CharOper, AL=Get it INT 21 ; DOS Command MOV DL,2D ; DL was 2F (slash), change it to 2D (dash) MOV AX,3701 ; AH=CharOper, AL=Set it INT 21 ; DOS Command INT 3 ; Exit from program On PC-DOS or MS-DOS 2.x any time DOS specifies pathnames after this program is run, it will show the slash '/' as the directory delimeter. On PC-DOS 3.x it will still use the backslash '\' to display pathnames. On any version of DOS, one will be able to use the slash character to send a pathname to DOS. Remember to now use dash '-' to pass flags to programs. Also, some programs may not check to see what the current SWITCH character is ( some programmers are really sloppy :-) and may require the user to specify pathnames using backslash. Bob Bruck (hao!allegra!...)|nbires|bob
landauer@drivax.UUCP (Doug Landauer) (06/13/85)
[In your CONFIG.SYS file, put:] > switchar = - > > WARNING: this also changes the default value of COMSPEC ... ANOTHER WARNING: This feature seems to be missing from PC-DOS 3.0. Does anyone have a patch for 3.0 to put it back in? -- -- Doug Landauer -- ...[ ihnp4 | mot | ucscc | amdahl ] !drivax!landauer
g-frank@gumby.UUCP (06/14/85)
If you are using DOS 2.1 or 2.0, you can include a line in your CONFIG.SYS file that says SWITCHAR=- . This will make the forward slash (/) the path seperator, and (-) the switch character. This feature was removed in DOS 3.0, although the system call to set and return the character may still be in place. The problem is that COMMAND.COM reads this character when it starts up, so changing it after startup doesn't buy you anything. Thus, if you are using 3.0 or 3.1, you are s.o.l., but for any version before them, it's no problem. -- Dan Frank Q: What's the difference between an Apple MacIntosh and an Etch-A-Sketch? A: You don't have to shake the Mac to clear the screen.
nather@utastro.UUCP (06/14/85)
> Include in CONFIG.SYS file the following statement: > > SWITCHAR=- > > Only works for DOS 2.X, not 3.X. > > ----Joe Maybee True. But Lauren Weinstein posted info about how to do it to DOS 3.0 some time ago. I haven't tried it since I don't run 3.0 -- has anyone checked it out? -- Ed Nather Astronony Dept, U of Texas @ Austin {allegra,ihnp4}!{noao,ut-sally}!utastro!nather nather%utastro.UTEXAS@ut-sally.ARPA
john@moncol.UUCP (John Ruschmeyer) (06/14/85)
]From: lsmith@ut-ngp.UTEXAS ]Organization: UTexas Computation Center, Austin, Texas ]Message-ID: <1823@ut-ngp.UTEXAS> ] ]A lot of programs use '/' to specify flags, where Unix usually uses '-'. ]I assume this is why path names can't have '/'. Ah, 'tis true. This, however, is where the magic undocumented dos 2.x SWITCHAR comes in. If you add a line such as SWITCHAR=- to your CONFIG.SYS file, then the '/' becomes a legal path delimeter. Now, however, you must say DIR -W to get a multi-column directory, for example. As pointed out, however, this is an undocumented "feature". Take it for what it's worth. As a side note, does anyone know what would happen to wildcarding if you set SWITCHAR to '*' ? -- Name: John Ruschmeyer US Mail: Monmouth College, W. Long Branch, NJ 07764 Phone: (201) 222-6600 x366 UUCP: ...!vax135!petsd!moncol!john ...!princeton!moncol!john ...!pesnta!moncol!john Silly Quote: "I wanted to call it 'Nautical Lady' and Fred wanted to call it 'Queen of the Sea'. So we took the first three letters of my name and the last three letters of his."
cramer@kontron.UUCP (Clayton Cramer) (06/14/85)
> > I'll assue that somebody out there has already modified the code > > on the PC to allw e to use '/'s instead of the dumb backslash that > > IBM (Microsoft?) imposed on us... > > > If your version of PC/MS-dos is 2.1 or later, you can do this by setting your > 'switchar' to any thing other than '/'. This is done by adding the following > command to your config.sys file: > > switchar = - or whatever character you prefer. > > WARNING: this also changes the default value of COMSPEC from > [drive]:\command.com > to > [drive]:/command.com > This has been known to cause problems with some of the older public domain > programs that did not know that '/' and '\' were interchangable from the > program level. Doesn't work under PC-DOS 3.0 on an AT. In fact, I get an error message when it tries to process the config.sys command.
mike@peregrine.UUCP (Mike Wexler) (06/14/85)
> If your version of PC/MS-dos is 2.1 or later, you can do this by setting your ^^^^^and less than 3.0 > 'switchar' to any thing other than '/'. This is done by adding the following > command to your config.sys file: > > switchar = - or whatever character you prefer. > Microsoft in there infinite wisdom has undone this undocumented feature. Let's give them a bronx cheer for the ingenuity. -- -------------------------------------------------------------------------------- Mike Wexler(trwrb!pertec!peregrine!mike) | Send all flames to: 15530 Rockfield, Building C | trwrb!pertec!peregrine!nobody Irvine, Ca 92718 | They will then be given the (714)855-3923 | consideration they are due.
indra@utai.UUCP (Indra Laksono) (06/18/85)
> The answer to this is of general interest. Please post to > network. In config.sys, include a line that says : switchar=-. When you boot the dos, you'll get directory as /xx/.... etc, the switch character is now -. Eg format b: -v. Of course this only works with ms/pcdos v2.xx
john@moncol.UUCP (John Ruschmeyer) (06/18/85)
> Also, some programs may not check to see what the current SWITCH > character is ( some programmers are really sloppy :-) True enough. I noticed that the 'tree' utility htat comes with MS-DOS 2.11 for the Tandy 1000 requires '/', no matter what the switchar is set for. -- Name: John Ruschmeyer US Mail: Monmouth College, W. Long Branch, NJ 07764 Phone: (201) 222-6600 x366 UUCP: ...!vax135!petsd!moncol!john ...!princeton!moncol!john ...!pesnta!moncol!john Silly Quote: "He doesn't do anything right... He's saving the Old Pepsi." - Johnny Carson New COKE- the refreshment that pauses.
matt@prism.UUCP (06/20/85)
/**** prism:net.micro.pc / ukc!rde / 10:32 am Jun 22, 1985 ****/ One thing you might try on DOS 3.x is to change the SWITCHAR using the system call (I too am not certain that it exists, though), then invoke a second copy of COMMAND. This should read the revised value and get the desired effect (at a small loss in available memory). /* ---------- */ This DOES work, and you do NOT have to load a second copy of the command processor - the original copy will know about the new switch character. The DOS call of interest is function 37 (hex), which is listed as reserved for DOS's use. If function 37 is executed with AL set to 0, the current switch character is returned in DL. If it is executed with AL set to 1, the value in DL becomes the new switch character. Interestingly enough, function 37 also accept 2 and 3 as valid inputs in AL, but it isn't clear from tracing DOS what those numbers mean. Anyone in netland know? While we're on the subject of hacking DOS 3.1, does anyone know the new location to patch in command.com to increase the environment size to something reasonable? You would think after all this time that the Microsoft clones would realize that 128 bytes is just too small! (Fascinating that they though it was more important to include the ability to specify the last disk drive letter in DOS 3.0, but didn't think of allowing you to specify the environment size! Now THAT would be a useful thing to put in config.sys. /sigh/.) ----------------------------------------------------------------------------- Matt Landau {cca, datacube, ihnp4, inmet, mit-eddie, wjh12}... Mirror Systems, Inc. ...mirror!prism!matt -----------------------------------------------------------------------------
rde@ukc.UUCP (R.D.Eager) (06/22/85)
One thing you might try on DOS 3.x is to change the SWITCHAR using the system call (I too am not certain that it exists, though), then invoke a second copy of COMMAND. This should read the revised value and get the desired effect (at a small loss in available memory). -- Bob Eager rde@ukc.UUCP rde@ukc ...!mcvax!ukc!rde Phone: +44 227 66822 ext 7589
rde@ukc.UUCP (R.D.Eager) (06/22/85)
> Also, some programs may not check to see what the current SWITCH > character is ( some programmers are really sloppy :-) Since it's an undocumented feature who can blame them? -- Bob Eager rde@ukc.UUCP rde@ukc ...!mcvax!ukc!rde Phone: +44 227 66822 ext 7589
john@moncol.UUCP (John Ruschmeyer) (06/28/85)
>From: matt@prism.UUCP > >The DOS call of interest is function 37 (hex), which is listed as >reserved for DOS's use. If function 37 is executed with AL set to >0, the current switch character is returned in DL. If it is >executed with AL set to 1, the value in DL becomes the new switch >character. > >Interestingly enough, function 37 also accept 2 and 3 as valid >inputs in AL, but it isn't clear from tracing DOS what those numbers >mean. Anyone in netland know? Time for another undocumented DOS 2.x feature- the AVAILDEV switch By default, a file can not have the same name as a device (i.e. con). If you add the following line to your CONFIG.SYS file: AVAILDEV=FALSE then all devices must be referred to as \DEV\device (i.e. \DEV\CON). On the other hand you can now have a file called AUX, PRN, or CON. With AL set to 2, function 37 returns the current setting of this flag in DL. With AL set to 3, function 37 sets this flag to the setting in DL. [ Kudos to Ross Greenberg at timeinc for the list of undocumented interrupts. ] -- Name: John Ruschmeyer US Mail: Monmouth College, W. Long Branch, NJ 07764 Phone: (201) 222-6600 x366 UUCP: ...!vax135!petsd!moncol!john ...!princeton!moncol!john ...!pesnta!moncol!john Silly Quote: "He doesn't do anything right... He's saving the Old Pepsi." - Johnny Carson New COKE- the refreshment that pauses.
hamilton@uiucuxc.Uiuc.ARPA (06/28/85)
/* Written 5:04 pm Jun 19, 1985 by matt@prism in uiucuxc:net.micro.pc */ Interestingly enough, function 37 also accept 2 and 3 as valid inputs in AL, but it isn't clear from tracing DOS what those numbers mean. Anyone in netland know? ----------------------------------------------------------------------------- Matt Landau {cca, datacube, ihnp4, inmet, mit-eddie, wjh12}... Mirror Systems, Inc. ...mirror!prism!matt ----------------------------------------------------------------------------- /* End of text from uiucuxc:net.micro.pc */ in DOS 3.0, function 2 simply returns 0xFF in DL; function 3 returns with no effect at all. other values of AL cause AL==0xFF on return. not so interesting after all. wayne ({decvax,ucbvax}!pur-ee!uiucdcs!uiucuxc!)hamilton