Batch file 批量注册查询+;如果存在不一起工作?
我有一段代码要用Batch file 批量注册查询+;如果存在不一起工作?,batch-file,echo,registrykey,Batch File,Echo,Registrykey,我有一段代码要用 reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall if %ERRORLEVEL% EQU 0 echo On 这将检查防火墙是否启用,如果启用,它将回显“On”。 我尝试测试此命令,但我的输出为: 错误:无效语法。 键入“REG QUERY/?”了解用法 有人知道如何让这个代码工作吗
reg query HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall if %ERRORLEVEL% EQU 0 echo On
这将检查防火墙是否启用,如果启用,它将回显“On”。
我尝试测试此命令,但我的输出为:
错误:无效语法。
键入“REG QUERY/?”了解用法
有人知道如何让这个代码工作吗
- 卢塞雷斯
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
)
)
使用
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
来解析命令的输出。我认为reg query
命令不会在errorlevel
环境变量中写入注册表项的值。我认为您应该使用for
来解析命令的输出。谢谢@dcg,还有没有办法使%firewall%在激活/未激活的输出上变为可值?@Luseres您可以创建一个变量,例如设置“firewall=activated/not activated”
。谢谢@dcg我喜欢您想要帮助我!谢谢@dcg,还有没有办法使%firewall%在激活/未激活的输出上变为可值?@Luseres您可以创建一个变量,如soset“firewall=activated/not activated”
。谢谢@dcg我喜欢您想要帮助我!