
 MA> Ok, suppose I want to skip .EXE files. If I were using a GOSUB
 MA> routine I could immediately RETURN if the extension is "EXE." See
 MA> above where I put the row of "???" commands. What is the method
 MA> of quitting the routine altogether right at that point and
 MA> returning to the "FOR" loop without doing ANYTHING there? I tried
 MA> doing a GOTO and putting it following the ")" but that just stops
 MA> the batch file.

Just rearrange it a bit:

alias getyn `inkey /K"yn" %& %%yn`
setlocal
for %X in (*.*) if "%@ext[%X]" ne "exe" (
  set FI=%@upper[%X]
  keystack !
  getyn Process %X ?
  if "%yn%" == "y" (
    echo Processing: %FI
    rem Do real thing here
    pause Processed %X. Any key.
  )
)

See? Just like IFF...THEN^...^ENDIFF blocks.  4DOS' FOR doesn't have a CONTINUE
yet, so you have to group what belongs together.

