Symantec Version Reg Query

0

Eu ficaria muito grato por alguma ajuda com isso, pois está soprando minha mente.

Tudo que eu quero fazer é puxar o número da versão da Symantec, usando o código abaixo, que funciona em parte, todos, exceto a reunião da última parte da string, que eu sei que é correto, pois tenho algo semelhante trabalhando em outros arquivos em lote.

Alguém pode ver onde eu errei?

-

@echo off 

@setlocal enabledelayedexpansion

set VersionReg = (
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\Symantec Endpoint Protection\currentversion\public-opstate" /v "DeployRunningVersion"
)

echo %VersionReg%

SET Version=%VersionReg:~134,14%

echo %version%

-

Muito obrigado antecipadamente ...

    
por Toby MacDonnell 03.11.2016 / 16:22

1 resposta

1

Próximo snippet de código .bat mostra como capturar reg query output para uma variável usando for /F loop . Principalmente explicado usando rem comentários.

@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion

set "_regKey=HKLM\SOFTWARE\Symantec\Symantec Endpoint Protection\currentversion\public-opstate"
set "_regVal=DeployRunningVersion"

    rem my testing values in next 2 lines (remove them)
set "_regKey=HKCU\Control Panel\PowerCfg\PowerPolicies"  delete this 2 lines
set "_regVal=Description"                my testing values delete this 2 lines

for /F "tokens=1,2,*" %%G in ('
            reg query "%_regKey%" /v "%_regVal%" ^| findstr /I "%_regVal%"
    ') do (
            rem next 3 lines: debugging output could be removed
        echo value name "%%~G"
        echo value type "%%~H"
        echo value data "%%~I"
        set "_VersionReg=%%~I"
    )

SET "_Version=%_VersionReg:~12,26%"      delete this line and uncomment next one
rem SET "_Version=%_VersionReg:~134,14%"                      uncomment this line

    rem an empty line for output better readability 
echo(

    rem show result:   instead, you can use         ECHO "%_Version%" 
    rem or enable delayed expansion and use         ECHO  !_Version!
set _

Saída :

==> D:\bat\SU42022.bat
value name "Description"
value type "REG_SZ"
value data "This scheme keeps the computer running so that it can be accessed from the netwo
rk.  Use this scheme if you do not have network wakeup hardware."

_regKey=HKCU\Control Panel\PowerCfg\PowerPolicies
_regVal=Description
_Version=keeps the computer running
_VersionReg=This scheme keeps the computer running so that it can be accessed from the netwo
rk.  Use this scheme if you do not have network wakeup hardware.

Recursos (leitura obrigatória, incompleta):

por 03.11.2016 / 20:44