for /r %%i in (*) do (echo %%i)
Results in
%%i was unexpected at this time
Why?
You must be trying to run the command from the command line and not from within a batch file. Use a single % instead of two when running from the command line.
for /r %i in (*) do (echo %i)
Type HELP FOR
from the command line and read the 3rd paragraph.
Syntax:
FOR /R [[drive:]path] %%parameter IN (set) DO command
Need the path before %%i... which is why it's Unexpected
If you want to do *
for current directory, just use ".\" for the path
for /r ".\" %%i in (*) do (echo %%i)