Microsoft KB Archive/34768

= Differences between COMMAND /C and CALL =

Article ID: 34768

Article Last Modified on 11/16/2006

-

APPLIES TO


 * Microsoft MS-DOS 3.1
 * Microsoft MS-DOS 3.2 Standard Edition
 * Microsoft MS-DOS 3.21 Standard Edition
 * Microsoft MS-DOS 3.3 Standard Edition
 * Microsoft MS-DOS 3.3a
 * Microsoft MS-DOS 4.0 Standard Edition
 * Microsoft MS-DOS 4.01 Standard Edition
 * Microsoft MS-DOS 5.0 Standard Edition
 * Microsoft MS-DOS 5.0a
 * Microsoft MS-DOS 6.0 Standard Edition
 * Microsoft MS-DOS 6.2 Standard Edition
 * Microsoft MS-DOS 6.21 Standard Edition
 * Microsoft MS-DOS 6.22 Standard Edition

-



This article was previously published under Q34768



SUMMARY
The following information details the differences between using COMMAND /C and CALL.



MORE INFORMATION
COMMAND /C loads a new copy of COMMAND.COM into main system memory and passes it the command line. If a terminate-and-stay-resident (TSR) program is installed from this new copy of COMMAND.COM, it will be loaded above COMMAND.COM. When you exit from the command shell, the memory used by COMMAND.COM is freed, but the memory used for the TSR program is not. Hence, system memory becomes fragmented; there is memory allocated for TSR programs located in the middle of free memory.

When you do a CALL command, MS-DOS does not load a new copy of COMMAND.COM; it just uses an internal stack to keep track of different batch files. Therefore, if a TSR program is loaded, it is loaded at the bottom of memory, just above the resident portion of COMMAND.COM; all free memory remains in a single, contiguous block, which makes it easier for MS-DOS to work.

Additional query words: 6.22 3.30 3.30A 4.00 5.00 5.00a 6.00 6.20 6.21

Keywords: KB34768

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.