[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 24# newswan

提示错误

TOP

本帖最后由 wh123wh123 于 2021-7-22 02:53 编辑

回复 28# newswan

能不能把下面代码完善一下,只正对AAA.exe阻断和放行,并且显示正在执行第几次

@echo off
title=恢复默认
netsh advfirewall set domainprofile firewallpolicy blockinbound,AllowOutbound
netsh advfirewall set privateprofile firewallpolicy blockinbound,AllowOutbound
netsh advfirewall set publicprofile firewallpolicy blockinbound,AllowOutbound
pause

@echo off
title=批处理阻止与解除某个exe进程的联网
netsh advfirewall set domainprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set privateprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set publicprofile firewallpolicy blockinbound,blockoutbound
:loop
ping -n 6 127.0.1 >nul
echo 已断开
netsh advfirewall firewall delete rule name="阻断一次"
ping -n 9 127.0.1 >nul
echo 已连接
netsh advfirewall firewall add rule name="阻断一次" dir=out action=allow program="D:\AAA.exe" enable=yes
goto :loop

TOP

本帖最后由 wh123wh123 于 2021-7-22 10:16 编辑

回复 31# newswan

保存为.bat?运行提示语法不正确

命令语法不正确。
一个或多个重要的参数没有输入。
请验证需要的参数,然后再次输入。

count: 1

没有与指定标准相匹配的规则。


没有与指定标准相匹配的规则。

已断开

已删除 1 规则。
确定。

已连接
确定。

count: 2

没有与指定标准相匹配的规则。


没有与指定标准相匹配的规则。

已断开

已删除 1 规则。
确定。

已连接
确定。

count: 3

没有与指定标准相匹配的规则。


没有与指定标准相匹配的规则。

已断开

已删除 1 规则。
确定。

已连接
确定。

count: 4

没有与指定标准相匹配的规则。


没有与指定标准相匹配的规则。

已断开

已删除 1 规则。
确定。

已连接
确定。

count: 5

没有与指定标准相匹配的规则。

TOP

回复 33# cmd1152

求完整有效功能的代码

TOP

netsh方式
newswan 发表于 2021-7-22 03:23


这个好像无实际效果,在防火墙里能看到灰色和绿色以及删除添加的变化,但是程序并没有因此而跟随变化

TOP

@powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause & exit
$program = "D:\AAA.exe"
New-NetFirewallRule -DisplayName "阻断一次" -Profile Private,Public -Direction Outbound -Program $program -Action block
$count = 0
do
{
    $count += 1
    write-host "count:" $count
    Enable-NetFirewallRule -DisplayName "阻断一次"
    start-sleep 5
    disable-NetFirewallRule -DisplayName "阻断一次"
    start-sleep 8
}
while {$true}

提示错误

TOP

回复 38# newswan

您发完整代码,看不懂刚才这是啥意思啊

TOP

回复  wh123wh123 改为
newswan 发表于 2021-7-22 13:30



    这不是一样嘛?

TOP

本帖最后由 wh123wh123 于 2021-7-22 14:08 编辑

回复 43# newswan

.ps1这样的后缀名?没法运行啊,闪一下就消失了

TOP

回复 43# newswan

@if(0)==(0) echo off
@powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause & exit
$program = "D:\AAA.exe"
New-NetFirewallRule -DisplayName "阻断一次" -Profile Private,Public -Direction Outbound -Program $program -Action block
$count = 0
do
{
    $count += 1
    write-host "count:" $count
    Enable-NetFirewallRule -DisplayName "阻断一次"
    start-sleep 5
    disable-NetFirewallRule -DisplayName "阻断一次"
    start-sleep 8
}
while ($true)

BAT没法正常运行啊,后缀改为.ps1闪一下消失了

TOP

在线期待老师给个完整完美版的代码,先谢谢各位老师

TOP

回复 2# idwma

在线等老师

TOP

本帖最后由 wh123wh123 于 2021-7-22 22:36 编辑

回复 48# idwma
不是阻断所有程序,而是只阻断某一个,例如D:/AAA.exe,阻断AAA.exe联网后不影响其他程序正常联网的那种,也就是只针对一个例如AAA.exe控制

TOP

回复 50# idwma

正在测试,有效果,但是发现阻断网络好像和拦截效果是不是不一样?拦截的话是不是等放行后数据会一次性到?而阻断的话相当是丢包?

TOP

回复 48# idwma
   @echo off
    netsh advfirewall set domainprofile firewallpolicy blockinbound,blockoutbound
    netsh advfirewall set privateprofile firewallpolicy blockinbound,blockoutbound
    netsh advfirewall set publicprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall firewall add rule name="允许所有" dir=out action=allow  enable=yes
    :loop
set/a n+=1
    ping -n 6 127.0.1 >nul
    echo 已断开%n%
netsh advfirewall firewall add rule name="阻断一次" dir=out action=block program="d:\阻断一次.exe" enable=yes
    ping -n 9 127.0.1 >nul
    echo 已连接%n%
netsh advfirewall firewall delete rule name="阻断一次"
    goto :loop

如果只允许AAA.exe联网,而阻断和放行其他所有联网的话怎么修改?

TOP

返回列表