Использование wmic для получения рабочей группы в командном файле
Я не очень разбираюсь в пакетном файле, но я пытаюсь получить рабочую группу, используя 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 ответ
Это также повторяет что-то еще, потому что это дает echo is off
Это потому что wmic
is (плохо написано и) выводит пустую строку в конце вывода.
Ты можешь использовать 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
>
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- findstr - поиск строк в файлах.
- for / f - Циклическая команда против результатов другой команды.
- wmic - команда инструментария управления Windows.