Ошибка: "|" было неожиданным в это время партия 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
. Это должно быть ^|