Error: "|" was unexpected at this time batch script
You need to escape the pipe char inside for
command. It should be ^|
The condition inside the for
must be parsed by the batch parser before it can pass it to the IN() clause as an executable command and since the pipe is a special character in DOS, you need to use escape character(^) before pipe to preserve it during the initial batch parsing, as shown below:
for /f %%i in ('net user %username% /domain ^| find /i /c Group') do set RESULT=%%i