Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

batch regex the output of reg query command to a variable

summary

I need to be able to find the DWORD value of a registry key and set a variable to it to run an if statement against it.

how can i grab just the dword of a reg query so that i can work with it in the rest of my script?

reg query

reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall

req query output

EnableFirewall    REG_DWORD    0x1

what i need to grab

0x1

pseudo code

query firewall reg value
regex out DWORD value and set to variable var1
if var1 == 0x1 then do blah
else do other blah
like image 434
toosweetnitemare Avatar asked Jul 01 '13 19:07

toosweetnitemare


2 Answers

try this:

@echo off &setlocal
for /f "tokens=2*" %%a in ('reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall') do set "var=%%b"
if "%var%"=="0x1" (do this) else do that
like image 181
captcha Avatar answered Sep 22 '22 04:09

captcha


This should work for you:

for /f "tokens=3" %%x in ('reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall') do set FWSTATUS=%%x

If testing from the command line, change the %%x to %x instead.

like image 29
Mark Avatar answered Sep 18 '22 04:09

Mark