🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc
Article #40798

Re: Why is comma delimiter in batch files?

#40798
From: Jeff Pipkins
Date: Thu, 04 Jan 1990 17:59
30 lines
2116 bytes
In article <2646@jolnet.ORPK.IL.US> b-cox2@uiuc.edu writes:
>In article <3445@cbnewsl.ATT.COM> rl@cbnewsl.ATT.COM (roger.h.levy) writes:
>>
>>I've noticed that batch files regard both blanks and commas as delimiters
>>whereas c programs regard only blanks as a delimeter (If it matters, I'm
>>using DOS 3.2).  For example:
[example deleted]
>>My question: Is there a way to convince batch files to think of the comma
>>as part of the parameter, i.e. to regard only blanks as delimiters so as
>>to be consistent with c programs?
>
>No, unless you want to patch DOS.
[correct.  Or write your own command.com...]
>An alternative, if you want to do it and
>have source to your C startup code, is to patch that (Turbo C Pro comes with
>this source, Microsoft may/may not -- Turbo C's name is "c0?.obj" where the ?
>is the memory model) to parse a comma as a delimiter.

Incidently, the command tail is not parsed by c0?.obj, but by a function
that it calls.  I don't remember its name right now.  Same goes for MSC,
the name is setargv() I think.  You can link in your own version of this
function if you want.  The command tail is stored in the program's PSP
at offset 80h.  MSC has a global _psp that has the segment address of
the PSP.  { char far *p;  FP_SEG(p) = _psp; FP_OFF(p) = 0x80; }
The byte at 80h has the length of the string, which actually starts at
81h.  The first byte (at 81h) is always a blank, and the string always
has a 0x0D byte at the end.  { p[*p] = 0;  p++;  printf("command tail
is %s\n", p); }

Hope this helps.
Technical Details
Message-ID: <74@qmsseq.imagen.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!wuarchive!swbatl!texbell!texsun!newstop!sun!imagen!qmsseq!pipkins
References: <3445@cbnewsl.ATT.COM> <2646@jolnet.ORPK.IL.US>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!wuarchive!swbatl!texbell!texsun!newstop!sun!imagen!qmsseq!pipkins
From: pipkins@qmsseq.imagen.com (Jeff Pipkins)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Why is comma delimiter in batch files?
Keywords: batch MSDOS
Message-ID: <74@qmsseq.imagen.com>
Date: 4 Jan 90 17:59:44 GMT
References: <3445@cbnewsl.ATT.COM> <2646@jolnet.ORPK.IL.US>
Reply-To: pipkins@qmsseq.UUCP (Jeff Pipkins)
Organization: QMS Inc., Mobile, Alabama
Lines: 30