使用快捷方式一键修改 hosts 文件。
下面请看 VCR:
其实关键的命令只有一条:
powershell.exe -Command "Start-Process -FilePath notepad.exe -Verb RunAs -ArgumentList "$env:SystemRoot\system32\drivers\etc\hosts""
它使用记事本以管理员权限打开位于 C:\Windows\System32\drivers\etc\hosts 目录下的 hosts 文件,以便如果需要的话,可以编辑该文件。
Let's break it down:
powershell.exe: 这会调用 PowerShell 可执行文件,用于在命令行中执行 PowerShell 命令。
-Command: 该参数告诉 PowerShell 执行接下来的命令。
"Start-Process": 该 cmdlet 用于启动一个新进程(在这个例子中是一个应用程序,也就是记事本)。
-FilePath notepad.exe: 这指定了要启动的程序(记事本),notepad.exe 路径告诉 PowerShell 打开记事本。
-Verb RunAs: 这一部分指示 PowerShell 以提升的权限(管理员权限)运行该进程,这是修改系统文件(如 hosts 文件)所必需的。
-ArgumentList: 这指定了要传递给启动程序的参数(在本例中是记事本)。该参数是 hosts 文件的路径。
$env:SystemRoot\system32\drivers\etc\hosts: 这一部分通过 $env:SystemRoot 环境变量获取系统根目录(通常是 C:\Windows ),然后构建 hosts 文件的路径( C:\Windows\System32\drivers\etc\hosts )。
转义的双引号(\"):这些用于正确处理命令中的空格或特殊字符。此处用于围绕 $env:SystemRoot 变量,以正确地包含路径。
你也可以直接去下面网站下载已经生成的快捷方式。
![]() |
1
qW7bo2FbzbC0 1 天前
牛批
|
2
bbao 1 天前 ![]() 看了这么一大堆文字,觉得,还是直接打开 host 文件修改比较快~~~~
|
3
julyclyde 1 天前 ![]() 在低频需求上瞎优化
|
![]() |
4
Zhuzhuchenyan 1 天前 ![]() 我用 Power Toys 的 Hosts File Editor utility ,感觉也挺便捷的
https://learn.microsoft.com/en-us/windows/powertoys/hosts-file-editor |
![]() |
5
bzw875 1 天前
|
![]() |
6
ShadowPower 1 天前 ![]() 我用 SwitchHosts……
|
7
layxy 1 天前
当有很多 host 需要管理的时候还是 SwitchHosts 比较方便,否则手动编辑其实也还好
|
8
Alliot 1 天前 ![]() 冷知识: Win+R 打开运行,输入 drivers 回车,就能快速定位到 hosts 文件路径,双击就可以打开啦。
|
9
zictos 1 天前 ![]() 随便建立一个快捷方式就可以了啊,路径:
%windir%\system32\notepad.exe %windir%\system32\drivers\etc\hosts |
![]() |
10
Belmode 1 天前 ![]() |
11
xqzr 1 天前
Win+R 或 创建快捷方式
sudo notepad drivers\etc\hosts |
12
yidev 1 天前 ![]() 我要是发送一个 hosts 快捷方式到桌面, 阁下又该如何应对?
|
![]() |
13
Mark24 1 天前
sudo vim /etc/hosts
|
![]() |
14
chendy 1 天前
我的方法:
1. 用 vscode 打开,保存的时候会提示要管理员权限,然后确认就行了 2. 用 Power toy 里的 hosts 工具 |
15
asdasdqqq 1 天前
switchhosts
|
![]() |
16
opengps 1 天前
我的 notapad++里常年吧 hosts 设置为第一个打开的文件
|
18
henix 1 天前
有意思,但怎么没显示需要管理员权限的提示?
|
19
linuxsir2020 1 天前
@opengps +1
|
![]() |
20
HankAviator 1 天前
没事
经常 手动 用记事本 改 hosts 玩 |
21
PrinceofInj 18 小时 17 分钟前
这个主要是第一次修改需要改文件权限。楼上这么多直接编辑的,想必第一次也得改一下文件权限才行吧。
|
![]() |
22
wangtian2020 17 小时 58 分钟前
powertoys
|
![]() |
23
ZxykM 17 小时 44 分钟前
只用 SwitchHosts
|
24
shujuliuer OP @zictos 会有编辑权限问题
|
25
shujuliuer OP @henix 关键的点就在这里,无须管理员权限的提示
|
![]() |
26
body007 17 小时 18 分钟前
|
27
zictos 17 小时 17 分钟前
@shujuliuer #24 我今天真的遇到了编辑权限的问题,以前明明好好的,今天突然不能直接修改了,通过管理员权限运行 cmd 并通过 notepad.exe 打开 hosts 文件才能编辑。我一直用 administrator 账户登录的,以前能直接手动修改也能使用 python 自动修改。
不过权限问题解决了,用管理员权限运行 cmd ,然后执行下面两行命令之后就能随意编辑 hosts 文件了。 takeown /f C:\Windows\System32\drivers\etc\hosts icacls C:\Windows\System32\drivers\etc\hosts /grant Administrators:F |
![]() |
28
peasant 17 小时 14 分钟前
我选择本地跑 AdGuardHome
|
![]() |
29
fox2081 17 小时 3 分钟前
Power Toys 了解一哈
|
30
raymonguo 16 小时 50 分钟前
code C:\Windows\System32\drivers\etc\hosts
|
![]() |
31
leee41 16 小时 46 分钟前
C:\Windows\System32\drivers\etc\hosts
我直接快速访问固定该文件 |
32
lscho 16 小时 39 分钟前
这就是我为什么开发环境不用 windows 的原因。。。。
|
33
FarmerChillax 16 小时 35 分钟前
不如考虑一下这个: https://github.com/oldj/SwitchHosts 还带了环境管理
|
![]() |
35
LitterGopher 16 小时 29 分钟前
直接給 HOST 文件創建一個軟鏈接到你常用的目錄或桌面唄.
|
![]() |
36
LitterGopher 16 小时 26 分钟前
@lscho #32 虽然我自己使用 Linux 开发, 但是就我所遇到的和过的公司和部门几乎也只有我是在纯 Linux 上开发,就算嵌入式不少也都是在 Windows 上开发, Linux 上调试, 即便在 Linux 上开发的也是在 Windows 装虚拟机进行开发, 而不是裸跑 Linux 进行开发.
你说 macOS? 那你一定不是做开发的. |
37
lscho 16 小时 21 分钟前
|
![]() |
38
LitterGopher 16 小时 18 分钟前
@lscho #37 好像确实是我应激了, 抱歉, 抱歉.
|
39
qingshengwen 16 小时 16 分钟前
@yidev #12 哈哈哈哈,我就是这么做的
|
40
dode 16 小时 16 分钟前
使用 vscode 编辑器打开,保存时自动提升使用管理员权限强制保存
|
41
sinry 16 小时 14 分钟前
你这太慢了,不如 utools ,1 秒打开
|
42
FishBear 16 小时 9 分钟前 ![]() @Zhuzhuchenyan #4 确实 直接按 alt+空格后 输入 host 就可以编辑了
|
43
happyxhw101 16 小时 7 分钟前
F2(打开 guake 终端) -> sudo vim /etc/hosts
|
![]() |
44
Vegetable 16 小时 6 分钟前
不是,快捷方式不能用吗?
|
45
strobber16 15 小时 37 分钟前
不是,本站用户人手一个软路由谁 TM 还改本机 hosts 啊
|
![]() |
46
bhqt 15 小时 23 分钟前
hostsx
|
![]() |
47
vmebeh 15 小时 11 分钟前 via iPhone
能直接编辑的都是关了 UAC 的,打开任何程序都是有管理员权限,相当于 sudo 任何程序
|
![]() |
48
psxf 15 小时 5 分钟前
...用 Listary 搜索 host 直接编辑
|
![]() |
49
ShadowPower 15 小时 1 分钟前
@strobber16 公司有一堆环境,微服务改配置里的注册中心和中间件的 IP 地址要花点时间。用域名,直接改 hosts ,然后全部重启就搞定了
|
![]() |
50
Fdyo 14 小时 51 分钟前
|
![]() |
51
ShadowPower 14 小时 42 分钟前
@lscho 我想知道为什么这是你不用 Windows 的原因……
难道这玩意还影响开发吗? |
![]() |
52
killva4624 14 小时 32 分钟前
alias vimhosts='vim /etc/hosts'
|
![]() |
53
crac 14 小时 27 分钟前
其实翻墙软件里带这个功能的 直接写配置文件里就行。。。
|
54
jadeborner 14 小时 0 分钟前
powertoys 里面不有吗
|
![]() |
55
yulgang 13 小时 40 分钟前
|
![]() |
56
minami 13 小时 35 分钟前
@lscho #37 能说到应激更是个神人,请问哪个系统不用工具改 hosts 不是进去手动改文件?跟 Windows 有什么关系? hosts 是给普通用户改着玩的吗
|
![]() |
57
woodfizky 12 小时 3 分钟前
如果用火绒,火绒就有这个类似的工具,帮你解决编辑权限问题。
在用这个之前,我的做法是复制一个 hosts ,用记事本打开,编辑完之后同名扔回去覆盖。 |
58
dmanbu 12 小时 0 分钟前
我之所有不喜欢 powershell ,就是因为这玩意又臭又长
|
![]() |
59
lambdaq 11 小时 55 分钟前
|
![]() |
60
zhizunzz 11 小时 27 分钟前
请问你们每天都改几十遍 host 吗
|
61
lscho 11 小时 21 分钟前
@minami 能说神人的就更神人了。。我一直在说的是“我”,不知道你在应激什么,我就不想手动点四五层目录进去找 host 文件怎么了?也不想使用 powershell ,我就喜欢直接 vim /etc/host 修改怎么了?甚至我可以说不想使用 windows 的文件管理器,因为我用着有点卡,这怎么了?和你有什么关系吗?真的搞笑。。。
|
62
alading11 11 小时 19 分钟前
@Zhuzhuchenyan nb ,一直在用 Power Toys 但是搜索这个功能还真不咋用,批量修改文件名啥的还是挺好用的
|
63
lscho 11 小时 15 分钟前
@ShadowPower 你看下 op 列出来改 host 使用的东西,并不是简单的改 host 的问题,而是因为这个问题衍生出来的 powershell 语法、权限设计、甚至文本编辑器带来的换行符问题。我是做后端开发的,代码要放到服务器运行的,在 windows 上开发 linux 运行的话,经常会有奇奇怪怪的小问题,真的会影响到我。
但是以上仅仅代表 [我] 个人感觉。 |
![]() |
64
zenghx 10 小时 57 分钟前
gsudo/sudo 就好了
|
65
hefish 10 小时 47 分钟前
全球最快,史上最快,国内首创,天下无敌。。。
|
![]() |
67
mobaijun 10 小时 12 分钟前
|
![]() |
68
mobaijun 10 小时 11 分钟前
<img alt="tu" src="https://imgur.com/a/9MEefEw"> 没有这种方式嘛
|
![]() |
69
ShadowPower 10 小时 9 分钟前
@lscho
op 写得太复杂了,其实非常简单,用 Powershell 以管理员权限运行程序是这样写: Start-Process 程序名 参数 -Verb RunAs 程序名只需要填上:notepad 参数填上 hosts 文件路径:'C:\Windows\System32\drivers\etc\hosts' 我觉得还挺直观的。虽然没有 unix 命令那种一两个字母看起来短,不过实际上在脚本里可读性非常强。 然后用 Powershell 来运行它,只需要这样: powershell -Command "这里是要执行的命令" 有缩略写法: pwsh -c "这里是要执行的命令" 把这个添加到快捷方式里,就可以实现双击执行某条命令了。 对比苹果的设计,AppleScript 是这么写的: do shell script "open -a 'TextEdit' /etc/hosts" with administrator privileges 整体上甚至差不多,格式都很像。如果追求“双击就能运行”,那么这就是最简单的方法了。 除非配了免密码,不然用 sudo 的方式需要输入密码。 |
![]() |
72
xiaomoxian 9 小时 52 分钟前 via Android
@yidev 我是让 host 文件的快捷方式散布在每一个文件夹下,随时都能打开
|
![]() |
73
davin 9 小时 47 分钟前
以前流行 SwitchHosts 的时候,为了方便切换开发环境的 host 配置,经常设置 SwitchHosts 开机自动启动,随用随改。
|
![]() |
74
magicls 9 小时 13 分钟前
蛤?
|
![]() |
75
mmdsun 9 小时 1 分钟前
微软新出了个 sudo 安装下就很方便了
|
76
czz404 6 小时 1 分钟前
listary 直接键入 host 也可以
|