【问题标题】:batch regex the output of reg query command to a variable批量正则表达式 reg 查询命令的输出到变量
【发布时间】:2013-06-29 00:39:33
【问题描述】:

总结

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

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

注册查询

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

req 查询输出

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

【问题讨论】:

    标签: regex windows batch-file registry dword


    【解决方案1】:

    这应该适合你:

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

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

    【讨论】:

      【解决方案2】:

      试试这个:

      @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
      

      【讨论】:

        猜你喜欢
        • 2016-12-11
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多