Microsoft KB Archive/39627

= MS-DOS: Batch File Labels Are Not Case Sensitive =

Article ID: 39627

Article Last Modified on 11/26/2003

-

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

-



This article was previously published under Q39627



SUMMARY
The labels of batch files, which are interpreted with the MS-DOS COMMAND.COM command interpreter, are not case sensitive. For example, the following labels, as well as any other capitalization combinations, are equivalent:


 * ONE


 * One


 * one

This is because the command processor converts all label characters to uppercase to resolve label references when it processes a batch file.



MORE INFORMATION
In the following batch file, the labels &quot;TWO&quot; and &quot;Two&quot;, as well as &quot;End&quot; and &quot;END&quot; are interpreted as the same label:

if %1 == one then goto :TWO

goto END


 * Two

echo One Testing.


 * End

The following batch file executes the first occurrence of the label, disregarding the capitalization of that label:

@echo off

if %1 == one goto test1

goto END


 * TEST1

echo Test 1

goto END


 * test1

echo Test 2


 * End

echo DONE!

Even though the label in the second line is lowercase, the batch file executes the first occurrence of the label. The output of the batch file, if invoked with &quot;one&quot; as the first parameter, would be as follows:

Test 1

DONE!

Additional query words: 3.20 3.21 3.30 3.30a 4.00 4.01 5.00

Keywords: KB39627

-

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

© Microsoft Corporation. All rights reserved.