Batch - Reg query + if exists 不能一起工作?

Batch - Reg query + if exists doesnt work together?

我有一段代码想用

reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall if %ERRORLEVEL% EQU 0 echo On

这将检查防火墙是否启用,如果启用,它将回显 "On"。 我尝试测试这个命令,但我的输出是:

ERROR: Invalid syntax. Type "REG QUERY /?" for usage.

有人知道如何让这段代码工作吗?

使用 for 你可以做如下事情:

@echo off
for /f "tokens=3 delims= " %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall') do (
    if "%%i" equ "0x1" (
        echo activated
    ) else (
        echo not activated
    )
)