批量管道防火墙状态

时间:2014-04-15 19:49:52

标签: batch-file if-statement pipe firewall titlebar

我不是高级编剧,但知道很多可能性。我有一个自定义批处理文件,带有菜单,用于从一个窗口执行多个任务(例如从域安装,启用/禁用防火墙等)但是,我需要将Windows 7机器防火墙的状态管道传输到标题栏中格式如下:

{---------------}技术工具--- FW:000 {---------------}

标题是'技术工具'。在它旁边,它将以零或一的形式显示所有配置文件的防火墙状态;零表示已禁用,一表已启用。

到目前为止,我发现这给了我最基本的信息:

   NETSH ADVFIREWALL SHOW ALLPROFILE STATE

我一直在集思广益,可能使用IF语句和变量来设置STATE信息和1/0之间的关系,并将其管道到TITLE。

先谢谢。

1 个答案:

答案 0 :(得分:0)

我完全不确定我是否理解这个问题,但是......

@echo off

setlocal enableDelayedExpansion
set "states="
for /f "eol=- tokens=2" %%a in ('NETSH ADVFIREWALL SHOW ALLPROFILES STATE^|find /i "state"') do (
    if /i "%%a" EQU "ON" (
        set states=!states!1 
    ) else (
        set states=!states!0
    )
)

title {---------------} Tech Tools --- FW:!states! {---------------}

endlocal