发布时间:2022-08-19 12:01
今天给一台电脑配置ip映射时,发现C:\Windows\System32\drivers\etc目录下没有hosts文件,于是用Everything软件搜索了一下,发现C:\Windows\WinSxS\amd64_microsoft-windows-w..ucture-other-minwin_31bf3856ad364e35_10.0.18362.1_none_079d0d71e24a6112路径下有hosts文件。但是不知道是不是可以拷贝过去直接使用。于是上网查了一下,解决的方式是:
1、在win10左下角搜索框输入“命令”,随后以管理员身份打开命令行
2、在打开的命令行中输入下面的命令
for /f %P in ('dir %windir%\WinSxS\hosts /b /s') do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P
回车后当显示“已复制 1 个文件”,表明此时C:\Windows\System32\drivers\etc路径下已经有了hosts文件。经验证配置了该hosts后具有ip和主机名映射的功能
3、小结
通过上述两步可以看到其实命令的作用很像是遍历WinSxS然后把hosts拷贝到etc目录下,不过我没有仔细研究上述for命令,所以不能直接下决断,另外看网上有的人说直接自己创建hosts或者从其它电脑拷贝来的hosts不具有主机名与IP的映射功能。这个我没有验证过,感兴趣的可以试试,如果有了解原理的能告知一下更是不胜感激。不过上述1、2两步我验证过是确定可行的,大家遇到这种问题可以参考着解决试试。
另外,我发现网上有部分解释是hosts文件因为是受保护文件所以隐藏起来了,如果上述方法没有解决,你可以试试显示隐藏文件(参考链接为:https://blog.csdn.net/maomao_dreamhigh/article/details/113934235?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161563780216780261938135%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161563780216780261938135&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-113934235.first_rank_v2_pc_rank_v29&utm_term=hosts%E6%96%87%E4%BB%B6%E6%89%BE%E4%B8%8D%E5%88%B0)
参考链接:https://answers.microsoft.com/zh-hans/windows/forum/windows_10-other_settings/win10%E6%89%BE%E4%B8%8D%E5%88%B0hosts%E6%96%87/1c104350-387b-478a-92bb-d4d9601a1f4d