Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: "|" was unexpected at this time batch script

Tags:

batch-file

cmd

When I run this script, I receive

| was unexpected at this time.

This is code:

@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   

In for sentence, i use " and ', but I still got error.

like image 613
user3146665 Avatar asked Dec 30 '13 14:12

user3146665


2 Answers

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
like image 59
Infinite Recursion Avatar answered Oct 21 '22 21:10

Infinite Recursion


You need to escape the pipe char inside for command. It should be ^|

like image 23
MC ND Avatar answered Oct 21 '22 21:10

MC ND