Batch file 如何避免现有入站规则中的IP列表覆盖

Batch file 如何避免现有入站规则中的IP列表覆盖,batch-file,ip,firewall,Batch File,Ip,Firewall,如何在使用以下批处理脚本将IP添加到现有入站规则时避免IP列表覆盖 ipadd.bat: @echo off for /f "tokens=*" %%a in (ips.txt) do ( echo line=%%a netsh advfirewall firewall set rule name="Testrule" dir=in protocol=any new remoteip=%%a ) ips.txt 列出带换行符的IP(每一个都在新行上) 现在,每次我向IPs.txt添加新

如何在使用以下批处理脚本将IP添加到现有入站规则时避免IP列表覆盖

ipadd.bat:

@echo off
for /f "tokens=*" %%a in (ips.txt) do (
  echo line=%%a
  netsh advfirewall firewall set rule name="Testrule" dir=in protocol=any new remoteip=%%a
)
ips.txt

列出带换行符的IP(每一个都在新行上)

现在,每次我向IPs.txt添加新IP时,规则都会用新IP更新,但旧IP列表会被新IP覆盖。有没有办法更新旧列表而不丢失它。

@echo OFF
如果不存在installedips.txt>installedips.txt ECHO@
对于/f“令牌=*”%%a,在(
'findstr/x/v/i/L/g:installedips.txt“ips.txt”'
)做(
回音线=%%a
>>installedps.txt echo%%a
netsh advfirewall firewall set rule name=“Testrule”dir=in protocol=any new remoteip=%%a
)
后藤:EOF
这应该符合要求

installedips.txt
中保存已安装IP的日志-如果该文件不存在,则使用伪值创建该文件

然后处理文件的每一行,
/v
排除与
/x
完全匹配的行
/i
,而不考虑大小写
/L
字面上的
/g:
installedips.txt文件上的任何行

因此,将处理的唯一行是新行,新值将附加到
installedips.txt
文件中

(未测试)