HelpPC 2.10 Quick Reference Utility Copyright 1991 David Jurgens

                   BCB - Batch Control Block (undocumented)

                       DOS 2.x thru DOS 3.2  BCB Format

    Offset Size                   Description

       00   byte       unknown
       01   word       if non-zero; segment of control block for active FOR
       03   byte       type of batch command
                           0 - normal batch command
                           1 - FOR-loop active
       04   dword      offset of next command to execute in batch file
       07   word       offset of variable %0 (batch file name)
       09  9 words     offset of %N batch file parameters, 0FFFFh indicates
                       parameter is null
       1C   nbytes     null terminated path and filename of the current
                       batch file immediately followed by command line
                       parameters.  Each parameter %0-%9 plus a CR is
                       appended and resulting string is null terminated.


                             DOS 3.3  BCB Format

    Offset Size                   Description

       00   byte       unknown
       01   byte       global echo switch, if exec'd by batch CALL-command
                           1 - turn ECHO ON on return to calling batch file
                           0 - turn ECHO OFF on return to calling batch file
       02   word       batch file BCD segment if executed via CALL
                           if zero; batch file was called from command line
                           if non-zero; batch file executed via CALL-command
       04   word       if non-zero; segment of control block for active FOR
       06   byte       type of batch command
                           0 - normal batch command
                           1 - FOR-loop active
       07   dword      offset of next command to execute in batch file
       0B   word       offset of variable %0 (batch file name)
       0D  9words      offset of %N batch file parameters, 0FFFFh indicates
                       parameter is null
       1F  nbytes      null terminated path and filename of the current
                       batch file immediately followed by command line
                       parameters.  Each parameter %0-%9 plus a CR is
                       appended and resulting string is null terminated.


       - BCB length is variable and depends on the size and count of the
         parameters and fully qualified batch file name
       - the MCB for a BCB has a process Id of the transient portion of
         the latest COMMAND.COM
       - offsets displayed are relative to the BCB segment
       - SHIFT command changes the offsets of the parameters in the table
         at the offsets 0B0h thru 1Ch
       - BCB  of DOS 3.3 is the  same as earlier versions except 3 bytes
         were added after offset 0
       - to find a BCB, locate the first block in the MCB chain belonging
         to COMMAND.COM (the second allocated block always belongs to
         COMMAND.COM).  Then scan the MCB chain for a 64 byte block with
         the same owner ID as COMMAND.COM).  This will be the BCB.

Esc or Alt-X to exit Batch Control Block Home/PgUp/PgDn/End ←↑↓→
Converted to HTML in 2006 by Timo Bingmann