Почему напечатано «ECHO выключено»? - PullRequest
0 голосов
/ 09 ноября 2018

Я ожидаю получить только вывод «НЕТ пользователя существует для *» после выполнения этого кода:

FOR /F "tokens=* delims= " %%A IN ('C:\windows\System32\query.exe user /server:<some_IP_address>') DO SET NumDoc1=%%A
echo %NumDoc1%

Но я продолжаю получать:

No User exists for * 
ECHO is off.

Как мне избавиться от "ECHO off off" из моего вывода?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Когда пользователи не найдены, вывод отправляется со стандартной ошибкой. Команда FOR только захватывает стандартный вывод. Поэтому вам нужно перенаправить стандартную ошибку на стандартный вывод.

for /f "delims=" %%G IN ('"query user /server:servername 2>&1"') do set NumDoc1=%%G
0 голосов
/ 09 ноября 2018

Вы echo используете текущий статус echo, потому что ваша переменная пуста.

Попробуйте вместо этого:

echo NumDoc1:%NumDoc1%

...