Пакетная команда windows для определения IP-адреса из файла hosts
Может ли кто-нибудь, помогите мне обнаружить любые утверждения, которые не имеют #, т.е. некомментированные операторы из файла hosts (/system32/drivers/etc/hosts) с помощью команд Windows batch?
Например: IP-адрес, указанный в этом файле, который не будет иметь #
4 ответа
Это сработало для меня:
findstr "^[^#]*[0-9a-f][.:][0-9a-f]" c:\windows\system32\drivers\etc\hosts
Не совсем уверен, что это не оставляет что-то без фильтрации. Но
findstr /R /c:"^[^#]*[0-9a-f:.]" %systemroot%\system32\drivers\etc\hosts
Это будет неправильно? обнаружение строк, которые содержат недопустимые форматированные разрешения IP-адресов (например, 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!)
)