Ошибка: "|" было неожиданным в это время партия script

Когда я запускаю этот script, я получаю

| было неожиданным в настоящее время.

Это код:

@ECHO Off

REM Mapeo de unidad U, path de usuario

    net use u: \\server\usuarios\%username%
pause
REM  ***** Description group ****

for /f %%i in ('net user %username% /domain | find /i /c Group') do set RESULT=%%i

echo %RESULT%

pause   

В for предложение i используйте " и ', но у меня все еще есть ошибка.

Ответ 1

Условие внутри for должно анализироваться парсиальным парсером, прежде чем передать его в предложение IN() в качестве исполняемой команды, и поскольку этот канал является специальным символом в DOS, вам нужно использовать escape-символ ( ^) перед трубой, чтобы сохранить ее во время начального парсинга, как показано ниже:

for /f %%i in ('net user %username% /domain ^| find /i /c Group') do set RESULT=%%i

Ответ 2

Вам нужно свернуть трубку char внутри for. Это должно быть ^|