FIND.EXE Does Not Return the Proper Errorlevel in Windows NT (106203)



The information in this article applies to:

  • Microsoft Windows NT Server 3.1
  • Microsoft Windows NT Workstation 3.1

This article was previously published under Q106203

SYMPTOMS

The Find command (FIND.EXE) in Windows does not return the proper errorlevel. Under MS-DOS, FIND.EXE returns a zero (0) or one (1), based on whether a string is found in a file. It only returns a zero under Windows NT.

STATUS

Microsoft has confirmed this to be a problem in Windows NT version 3.1 and Windows NT Advanced Server version 3.1. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Problem

  1. Create the following batch file called FINDIT.BAT in the root directory of drive C.
          @echo off
          find %1 c:\findit.bat
          if errorlevel 1 goto ONE
          if errorlevel 0 goto ZERO
          goto END
          :ONE
          echo Errorlevel is 1, %1 not found
          goto END
          :ZERO
          echo Errorlevel is 0, %1 found
          goto END
          :END
  2. Boot to MS-DOS and type the command line FINDIT ONE, FINDIT ZERO, FINDIT TWO.

    For the first two commands, it will return errorlevel 0, for the third, it will return 1.
  3. Boot to Windows NT and type the same commands.

    All commands will return errorlevel 0.

Modification Type:MajorLast Reviewed:10/30/2003
Keywords:KB106203