【发布时间】:2013-12-11 17:55:57
【问题描述】:
任何人都可以帮助我检测任何没有# 的语句,即。使用 Windows 批处理命令从主机文件 (/system32/drivers/etc/hosts) 中的非注释语句?
例如:在该文件中指定的 ip 地址不会有 #
【问题讨论】:
标签: windows batch-file ip localhost host
任何人都可以帮助我检测任何没有# 的语句,即。使用 Windows 批处理命令从主机文件 (/system32/drivers/etc/hosts) 中的非注释语句?
例如:在该文件中指定的 ip 地址不会有 #
【问题讨论】:
标签: windows batch-file ip localhost host
这对我有用:
findstr "^[^#]*[0-9a-f][.:][0-9a-f]" c:\windows\system32\drivers\etc\hosts
【讨论】:
[^#]* 之后的部分应该匹配f:2,对吧?
这将找到未注释的行
find /v "#" < hosts
【讨论】:
10.0.0.0 somewhere # this is informational
不完全确定这不会留下未经过滤的东西。但是
findstr /R /c:"^[^#]*[0-9a-f:.]" %systemroot%\system32\drivers\etc\hosts
会出错吗?检测包含无效格式化 IP 地址解析的行(ej:IP 地址和无名称)但应删除任何注释/非活动行。
【讨论】:
此代码仅显示第一列中没有 # 的行,希望对您有所帮助:
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!)
)
【讨论】: