批次到空的主机文件,并添加多行
问题描述:
我发现了大约半打(1,2,3等)有关如何将行添加到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
我希望你们能告诉我我错过了什么,看什么或者甚至举个例子。我非常感谢你的帮助。
答
如果你确信你知道自己在做什么:
重写整个主机提供了新的内容只是文件:
@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%"
您的描述不够完整。 “以前添加”是什么意思?上次更新添加,以前添加过吗? – user2956477
我的意思是完全删除所有条目(包括#)。就是一切。 – Clacers