windows batch命令用来检测hosts文件的ip地址

时间:2013-11-26 14:22:04

标签: windows batch-file ip localhost host

可以任何一个,帮助我检测任何没有#的陈述,即。主机文件(/ system32 / drivers / etc / hosts)中使用Windows批处理命令的非注释语句?

例如:该文件中指定的IP地址不具有#

4 个答案:

答案 0 :(得分:3)

这对我有用:

findstr "^[^#]*[0-9a-f][.:][0-9a-f]" c:\windows\system32\drivers\etc\hosts

答案 1 :(得分:1)

这将找到未评论的行

find /v "#" < hosts

答案 2 :(得分:1)

不完全确定这不会留下没有过滤的东西。但

findstr /R /c:"^[^#]*[0-9a-f:.]" %systemroot%\system32\drivers\etc\hosts

会不正确?检测包含无效格式化IP地址解析的行(ej:一个IP地址,没有名称)但是应该删除任何注释/非活动行。

答案 3 :(得分:1)

此代码只显示第一列中没有#的行,希望这会有所帮助:

setlocal EnableDelayedExpansion
for /f "delims=¶ tokens=*" %%A in ('"type %SystemRoot%\System32\drivers\etc\hosts"') do (
   set var=%%A
   if NOT "!var:~0,1!" == "#" (echo !var!)
)