title: findstr /m only returning 1st found filename
body: <p>I am just starting to get my feet wet with MS Batch files.  I have created a small batch that searches the entered directory for files containing a certain string using findstr /m.  It is returning a file that contains the string, but only the first one it finds.  I have searched the findstr /? and online command reference, as well as this site.  I cannot find a way for findstr to return ALL the files with an instance of the string.  What am I missing?</p>
  
  <pre><code>@echo off
  setlocal 
  ECHO This Program Searches for words inside files!  
  :Search
  set /P userin=Enter Search Term: 
  set /p userpath=Enter File Path: 
  FOR /F %%i in ('findstr /M /S /I /P /C:%userin% %userpath%\*.*') do SET finame=%%i  
  if "%finame%" == "" (set finame=No matching files found)
  echo %finame% 
  set finame=
  endlocal
  :searchagain
  set /p userin=Do you want to search for another file? (Y/N): 
  if /I "%userin%" == "Y" GOTO Search
  if /I "%userin%" == "N" GOTO :EOF ELSE (
  GOTO wronginput
  )
  Pause
  :wronginput
  ECHO You have selected a choice that is unavailable
  GOTO searchagain
  </code></pre>