一致する行をエコーするか、一致する行がない場合は FALSE をエコーするだけでよい場合 (つまり、変数は必要ありません)、
findstr /ilc:"apples" "test.txt" || echo FALSE
検索に一致する行が複数ある可能性があることに注意してください。
最後に見つかった行を含む変数が必要な場合は、次のようにします。
set "varMWG="
for /f "delims=" %%S in ('findstr /ilc:"apples" "test.txt"') do set "varMWG=%%S"
if defined varMWG (echo %varMWG%) else echo FALSE
注 - 展開を遅らせた方が安全です。varMWG の内容によっては、正規展開を使用した ECHO が失敗する場合があります。
最初に見つかった行を含む変数が必要な場合は、次のようにします。
set "varMWG="
for /f "delims=" %%S in ('findstr /ilc:"apples" "test.txt"') do (
set "varMWG=%%S"
echo %%S
goto :break
)
:break
if not defined varMWG echo FALSE
この最後のオプションでは、拡張を遅らせる必要はありません。