bat批处理防止重复添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat批处理防止重复添加相关的知识,希望对你有一定的参考价值。

我自己写了一个批处理来在hosts文件中添加一个ip地址的映射,如:
@echo 192.168.1.10 test>>%systemroot%/system32/Drivers/etc/hosts
这样,双击运行bat后可以在hosts文件中添加这个映射,但是如果我多次双击运行这个bat文件后,在hosts文件里面就会有多个重复的ip地址的映射,请问这个问题该如何解决?谢谢!

参考技术A 改成:

@echo off
set ip=192.168.1.10
set host=systemroot%/system32/Drivers/etc/hosts
find /i %ip% &host% & echo %ip%>>%host%

只有找到这个地址才添加
参考技术B @echo off
findstr "192.168.1.10" "%systemroot%/system32/Drivers/etc/hosts">nul
if %errorlevel% NEQ 0 (
echo 192.168.1.10 test>>%systemroot%/system32/Drivers/etc/hosts
)
参考技术C @echo off
set "path=%systemroot%/system32/Drivers/etc/hosts"
find "192.168.1.10 test" %path% || echo 192.168.1.10 test >> %path%

以上是关于bat批处理防止重复添加的主要内容,如果未能解决你的问题,请参考以下文章

Windows 批处理(cmd/bat)常用命令教程

.bat批处理添加Python任务

Windows批处理(cmd/bat)常用命令

Windows批处理(cmd/bat)常用命令小结

bat文件

Windows批处理(cmd/bat)常用命令小结