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

ID: q106203


The information in this article applies to:
  • Microsoft Windows NT 3.1
  • Microsoft Windows 3.1 Advanced Server


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.


Additional query words: prodnt error level

Keywords : kbtool
Version : 3.1
Platform : WINDOWS
Issue type :


Last Reviewed: September 3, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.