ID: q106203
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.
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.
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
Last Reviewed: August 17, 1998