2013-11-26 92 views

回答

3

這爲我工作:

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

這將失敗,對IPv6地址的 –

+0

@MCND現在怎麼樣? – Bohemian

+0

錯誤地檢測到#1.10不做任何事情(它在散列之前有空格) –

1

這將發現非註釋行

find /v "#" < hosts 
+0

未能檢測到'10.0.0.0某處#這是信息'# –

+0

@MCND是的,該行對此有評論。 :D我意識到這一點,但問題只是要求非評論線。 – foxidrive

1

不完全地肯定這不會留下任何東西沒有過濾。但是

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

這樣會不正確?檢測包含無效的格式化IP地址解析(ej:一個IP地址和無名稱)的行但是應刪除任何註釋/未激活的行。

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!) 
)