@Seli_one

Как вывести результат команды cmd в переменную?

Здравствуйте коллеги.
Есть батник, в нём есть такая команда:
net user %username% | findstr /C:"Действие пароля завершается" >tmp.txt
Но есть задача вывести этот результат не во временный файл а в переменную.
Гугдил нашёл некое решение, но оно не отрабатывает:
FOR /F "delims=" %i IN ('net user %username% ^| findstr /C:"Действие пароля завершается"') DO set var=%i
Либо я не правильно понимаю.
Помогите разобраться.
Спасибо.
  • Вопрос задан
  • 3484 просмотра
Решения вопроса 1
@res2001
Developer, ex-admin
Вот так должно работать:
for  /f "delims=" %i IN ('net user %username% ^| findstr /C:"Действие пароля завершается" ') DO set var=%i
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fronik
@fronik
админ
Если у кого-то при этом появляется ошибка
"C:\Program" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

То причина в недостаточном экранирование, рабочий пример извлечения строки
for /f "tokens=*" %%i IN ('^" "%programfiles%\Yggdrasil\yggdrasilctl.exe" getself ^| findstr /C:"IPv6 address:" ^"') DO echo %%i
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы