2017-07-01 65 views
0

我发现了大约半打(123等)有关如何将行添加到Windows问题hosts文件,但他们都不是易于维护,如果你想经常使用一个批处理文件更新多行文件,在这个文件中,您可以将新文件替换为一个块,并删除hosts文件中的所有其他文件。批次到空的主机文件,并添加多行

127.0.0.1 example1.com 
127.0.0.1 example2.com 
127.0.0.1 example3.com 
127.0.0.1 example4.com 
127.0.0.1 example5.com 

我希望你们能告诉我我错过了什么,看什么或者甚至举个例子。我非常感谢你的帮助。

+0

您的描述不够完整。 “以前添加”是什么意思?上次更新添加,以前添加过吗? – user2956477

+0

我的意思是完全删除所有条目(包括#)。就是一切。 – Clacers

回答

1

如果你确信你知道自己在做什么:
重写整个主机提供了新的内容只是文件:

@Echo off 
Set "Hosts=%windir%\System32\drivers\etc\hosts" 
Copy "%Hosts%" "%Hosts%.bak" 
(Echo 127.0.0.1 example1.com 
    Echo 127.0.0.1 example2.com 
    Echo 127.0.0.1 example3.com 
    Echo 127.0.0.1 example4.com 
    Echo 127.0.0.1 example5.com 
) > "%Hosts%" 

此批将追加到原来的hosts文件,并保存附加副本日期&时间hosts_yyyyMMddhhmmss.bak给当前用户Documents这个文件夹应该没问题。

@Echo off 
for /f "delims=." %%A in (
    'wmic os get LocalDateTime^|findstr ^^[0-9]' 
) do Set "Bak=%USERPROFILE%\Documents\Hosts_%%A.bak" 

Set "Hosts=%windir%\System32\drivers\etc\hosts" 
Copy /Y "%Hosts%" "%Bak%" 

(Echo 127.0.0.1 example1.com 
    Echo 127.0.0.1 example2.com 
    Echo 127.0.0.1 example3.com 
    Echo 127.0.0.1 example4.com 
    Echo 127.0.0.1 example5.com 
) >> "%Hosts%" 
+0

非常感谢!它完美的工作! – Clacers

+0

您可以发布批次的版本以添加行而不删除现有的版本吗? :) – Clacers

+0

那么第二个保留现有的条目,但删除您的请求的意见。你想创建除了重定向到本地主机以外的条目吗? – LotPings