Batch file 如何避免现有入站规则中的IP列表覆盖
如何在使用以下批处理脚本将IP添加到现有入站规则时避免IP列表覆盖 ipadd.bat: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添加新
@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
文件中
(未测试)