Я бы, вероятно, сделал бы это без создания промежуточного файла для чтения и удаления:
@For /F Tokens^=6Delims^=^" %%A In ('WMIc OS Get Caption /Format:MOF 2^>Nul')Do @Set "info=%%A"
Вы должны сохранить значение (без каких-либо ненужных завершающих символов) в переменной %info%
на время сеанса cmd.exe
, если вы не измените / не перезапишите это.
Echo Version:%info%
Обратите внимание, что в Windows 7 есть (я думаю) ошибка, которая может помешать WMIC.exe
подхватить файл mof.xsl
. Однако есть как временные, так и более постоянные исправления или обходные пути, которые действительно выходят за рамки вашего вопроса.
[Редактировать /]
Я думал, что включу этот реестр на основе пакетный файл , чтобы быстрее найти альтернативное решение:
@For /F "EOL=HTokens=2*" %%A In (
'Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName 2^>Nul'
)Do @Set "info=%%B"