Для обработки файла (или вывода команды) используйте цикл for /f
:
@echo off
setlocal
for /f "tokens=2 delims=:." %%a in ('cscript "C:\Program Files\Microsoft Office\Office16\OSPP.VBS" /dstatus') do set "key=%%a"
set "key=%key: =%" & REM remove spaces
echo ---%key%---
Цикл for
извлекает второй «токен», разделяя строки на :
и.
(Это делается для каждой строки, но переменная каждый раз перезаписывается, что приводит к перехвату второго токена последней строки).Затем просто удалите оставшиеся пробелы.
(Вы можете даже просто использовать "tokens=9"
, который использует разделители по умолчанию SPACE, TAB, COMMA, но я не рекомендую это делать, потому что я не знаю, все ли вашимашины возвращают английский текст, и количество слов в других языках, вероятно, будет другим.)