1

Я не очень разбираюсь в пакетном файле, но я пытаюсь получить рабочую группу, используя wmic . Я пробовал разные вещи с опциями for . Пока что это лучший результат, который я получил.

for /f "skip=1" %%a in ('wmic computersystem get workgroup') do echo %%a

Это возвращает то, что я хочу, но оно также отображает что-то еще, потому что оно дает echo is off сообщение « выключено» . Я также хочу установить для рабочей группы переменную, например, такую.

for /f "skip=1" %%a in ('wmic computersystem get workgroup') do set "myVar=%%a"

Это ничего не возвращает, хотя. Я предполагаю, что мне нужно использовать tokens и / или delims , но у меня просто нет знаний, чтобы заставить его работать правильно.

Если бы кто-нибудь мог помочь мне в этом, я был бы очень признателен, и, возможно, это поможет мне узнать немного больше о том, как использовать цикл for . Я знаю, что это, вероятно, что-то очень простое, поэтому, пожалуйста, извините меня за такое невежество.

1 ответ1

1

Это также перекликается с чем-то другим, потому что оно дает echo is off

Это связано с тем, что wmic (плохо написано и) выводит пустую строку в конце вывода.

Вы можете использовать findstr /r /v "^$" чтобы удалить пустую строку.

Использование командного файла:

@echo off
setlocal
for /f "usebackq skip=1 tokens=*" %%i in (`wmic computersystem get workgroup ^| findstr /r /v "^$"`) do set myVar=%%i
echo %myVar%
endendlocal

Используя командную строку:

for /f "usebackq skip=1 tokens=*" %i in (`wmic computersystem get workgroup ^| findstr /r /v "^$" ^| findstr /r /v "^$"`) do @set myVar=%i && echo %myVar%

Заметки:

  • for /f проходит через вывод wmic .
  • skip=1 пропускает строку заголовка (содержащую VariableValue)
  • findstr /r /v "^$" удаляет завершающую пустую строку из вывода wmic .

Пример вывода:

> wmic computersystem get workgroup
Workgroup
WORKGROUP


> for /f "usebackq skip=1 tokens=*" %i in (`wmic computersystem get workgroup ^| findstr /r /v "^$" ^| findstr /r /v "^$"`) do @set myVar=%i && echo %myVar%
WORKGROUP

>

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .