Microsoft KB Archive/34760

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Knowledge Base


Missing <CR> after Batch Label Causes Repeat of Last Command

Article ID: 34760

Article Last Modified on 11/25/2003



APPLIES TO

  • Microsoft MS-DOS 3.3 Standard Edition
  • Microsoft MS-DOS 3.3a
  • Microsoft MS-DOS 4.0 Standard Edition
  • Microsoft MS-DOS 5.0 Standard Edition



This article was previously published under Q34760

SUMMARY

If the last line in a batch file is a label and there is no carriage return character after the label, the command immediately preceding the label will be executed twice.

The workaround for this problem is to include a carriage return at the end of a label.

Microsoft has confirmed this to be a problem in MS-DOS versions 3.3, 3.30a, 4.0, and 5.0. This problem was corrected in MS-DOS version 6.0.

MORE INFORMATION

The following batch file

echo hello <cr>
:label <cr>
<eof>
                

will produce the following output:

C>echo hello
hello

C>
C>
                

If the carriage return after the label is omitted, as follows

echo hello <cr>
:label <eof>
                

the file will produce the following output:

C>echo hello
hello
hello

C>
C>
                


Additional query words: 3.30 3.30a 4.00 5.00 noupd

Keywords: KB34760