echo %path% | findstr /i /c:"hello" && Echo Success || Echo Failure
From MSDos 6.22 Help file.
FIND exit codes
The following list shows each exit code and a brief description of its
meaning:
0 The search was completed successfully and at least one match was found.
1 The search was completed successfully, but no matches were found.
2 The search was not completed successfully. In this case, an error
occurred during the search, and FIND cannot report whether any matches
were found.
You can use the ERRORLEVEL parameter on the command line in a batch
program to process exit codes returned by FIND.
And about CMD's special characters.
& seperates commands on a line.
&& executes this command only if previous command's errorlevel is 0.
|| (not used above) executes this command only if previous command's errorlevel is NOT 0
> output to a file
>> append output to a file
< input from a file
| output of one command into the input of another command
^ escapes any of the above, including itself, if needed to be passed to a program
" parameters with spaces must be enclosed in quotes
+ used with copy to concatinate files. E.G. copy file1+file2 newfile
, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,
%variablename% a inbuilt or user set environmental variable
!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command
%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile's name.
%* (%*) the entire command line.
%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.