6

概括

我需要能够找到注册表项的 DWORD 值并为其设置一个变量以针对它运行 if 语句。

如何只获取 reg 查询的 dword,以便在脚本的其余部分中使用它?

注册查询

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

请求查询输出

EnableFirewall    REG_DWORD    0x1

我需要抓住什么

0x1

伪代码

query firewall reg value
regex out DWORD value and set to variable var1
if var1 == 0x1 then do blah
else do other blah
4

2 回答 2

11

尝试这个:

@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
于 2013-07-01T19:43:01.290 回答
4

这应该适合你:

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

如果从命令行进行测试,请%%x改为%x改为。

于 2013-07-01T19:37:59.873 回答