批处理 - 注册查询+如果存在不起作用?
问题描述:
我有一段代码,我想用批处理 - 注册查询+如果存在不起作用?
reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall if %ERRORLEVEL% EQU 0 echo On
这将检查如果防火墙是启用果真如此的话会响应“开”。 我尝试测试这个命令,但我的输出是:
ERROR: Invalid syntax. Type "REG QUERY /?" for usage.
有谁知道如何让这段代码的工作?
- Luseres
答
使用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
)
)
我不认为'REG query'命令在'errorlevel'写入注册表项的值环境变量我想你应该使用'for'来解析命令的输出。 – dcg