Query di Symantec Version Reg


0

Sarei molto grato per un po 'di aiuto in questo, poiché mi sta facendo impazzire.

Tutto quello che voglio fare è estrarre il numero di versione di Symantec, usando il codice seguente, che funziona in parte, tutto tranne la raccolta dell'ultima parte della stringa, che so essere corretta in quanto ho qualcosa di simile che funziona in altri file batch .

Qualcuno può vedere dove ho sbagliato?

-

@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%

-

Molte grazie in anticipo...


1
La stringa della tua versione è davvero lunga più di 134 caratteri?
DavidPostill

1
Esegui il tuo file batch senza @echo spento e modifica per includere l'output ...
DavidPostill

Risposte:


1

Lo .batsnippet di codice successivo mostra come catturare l' reg queryoutput in una variabile usando il for /Fciclo . Principalmente spiegato usando i remcommenti.

@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\3"  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 _

Uscita :

==> D:\bat\SU\1142022.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\3
_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.

Risorse (lettura obbligatoria, incompleta):

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.