shujuliuer
V2EX  ›  Windows

可能是全球最快捷的修改 hosts 文件方式

  •  
  •   shujuliuer · Feb 25, 2025 · 12986 views
    This topic created in 617 days ago, the information mentioned may be changed or developed.

    使用快捷方式一键修改 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 变量,以正确地包含路径。
    

    你也可以直接去下面网站下载已经生成的快捷方式。

    windowsHost

    Supplement 1  ·  Mar 6, 2025
    回帖我都看完了,但是我觉得都不适合电脑小白,或者不那么纯粹。
    1. 需要安装额外软件,例如 switchhosts 、vscode ,甚至 sudo 等等;
    2. 需要右击用管理员权限运行;
    84 replies  •  2025-03-06 20:54:30 +08:00
    qW7bo2FbzbC0
    qW7bo2FbzbC0
    Feb 25, 2025
    1
    牛批
    bbao
    bbao
    Feb 25, 2025❤️6
    2
    看了这么一大堆文字,觉得,还是直接打开 host 文件修改比较快~~~~
    julyclyde
    julyclyde
    Feb 25, 2025❤️65
    3
    在低频需求上瞎优化
    Zhuzhuchenyan
    Zhuzhuchenyan
    Feb 25, 2025❤️9
    4
    我用 Power Toys 的 Hosts File Editor utility ,感觉也挺便捷的
    https://learn.microsoft.com/en-us/windows/powertoys/hosts-file-editor
    bzw875
    bzw875
    Feb 25, 2025
    5
    ShadowPower
    ShadowPower
    Feb 25, 2025❤️2
    6
    我用 SwitchHosts……
    layxy
    layxy
    Feb 25, 2025
    7
    当有很多 host 需要管理的时候还是 SwitchHosts 比较方便,否则手动编辑其实也还好
    Alliot
    Alliot
    Feb 25, 2025❤️12
    8
    冷知识: Win+R 打开运行,输入 drivers 回车,就能快速定位到 hosts 文件路径,双击就可以打开啦。
    zictos
    zictos
    Feb 25, 2025❤️1
    9
    随便建立一个快捷方式就可以了啊,路径:
    %windir%\system32\notepad.exe %windir%\system32\drivers\etc\hosts
    Belmode
    Belmode
    Feb 25, 2025❤️3
    10
    xqzr
    xqzr
    Feb 25, 2025❤️1
    11
    Win+R 或 创建快捷方式
    sudo notepad drivers\etc\hosts
    yidev
    yidev
    Feb 25, 2025❤️11
    12
    我要是发送一个 hosts 快捷方式到桌面, 阁下又该如何应对?
    Mark24
    Mark24
    Feb 25, 2025
    13
    sudo vim /etc/hosts
    chendy
    chendy
    Feb 25, 2025
    14
    我的方法:
    1. 用 vscode 打开,保存的时候会提示要管理员权限,然后确认就行了
    2. 用 Power toy 里的 hosts 工具
    asdasdqqq
    asdasdqqq
    Feb 25, 2025
    15
    switchhosts
    opengps
    opengps
    Feb 25, 2025
    16
    我的 notapad++里常年吧 hosts 设置为第一个打开的文件
    xiaolv
    xiaolv
    Feb 25, 2025
    17
    @xqzr 这个确实方便。不过要 24h2
    henix
    henix
    Feb 25, 2025
    18
    有意思,但怎么没显示需要管理员权限的提示?
    linuxsir2020
    linuxsir2020
    Feb 25, 2025
    19
    HankAviator
    HankAviator
    Feb 25, 2025
    20
    没事
    经常
    手动
    用记事本
    改 hosts 玩
    PrinceofInj
    PrinceofInj
    Feb 26, 2025
    21
    这个主要是第一次修改需要改文件权限。楼上这么多直接编辑的,想必第一次也得改一下文件权限才行吧。
    wangtian2020
    wangtian2020
    Feb 26, 2025
    22
    powertoys
    ZxykM
    ZxykM
    Feb 26, 2025
    23
    只用 SwitchHosts
    shujuliuer
    shujuliuer
    OP
    Feb 26, 2025
    24
    @zictos 会有编辑权限问题
    shujuliuer
    shujuliuer
    OP
    Feb 26, 2025
    25
    @henix 关键的点就在这里,无须管理员权限的提示
    body007
    body007
    Feb 26, 2025
    26
    zictos
    zictos
    Feb 26, 2025
    27
    @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
    peasant
    peasant
    Feb 26, 2025
    28
    我选择本地跑 AdGuardHome
    momo2278
    momo2278
    Feb 26, 2025
    29
    Power Toys 了解一哈
    raymonguo
    raymonguo
    Feb 26, 2025
    30
    code C:\Windows\System32\drivers\etc\hosts
    leee41
    leee41
    Feb 26, 2025
    31
    C:\Windows\System32\drivers\etc\hosts
    我直接快速访问固定该文件
    lscho
    lscho
    Feb 26, 2025
    32
    这就是我为什么开发环境不用 windows 的原因。。。。
    FarmerChillax
    FarmerChillax
    Feb 26, 2025
    33
    不如考虑一下这个: https://github.com/oldj/SwitchHosts 还带了环境管理
    minami
    minami
    Feb 26, 2025
    34
    @lscho 能发散到这个的也是神人了
    LitterGopher
    LitterGopher
    Feb 26, 2025
    35
    直接給 HOST 文件創建一個軟鏈接到你常用的目錄或桌面唄.
    LitterGopher
    LitterGopher
    Feb 26, 2025
    36
    @lscho #32 虽然我自己使用 Linux 开发, 但是就我所遇到的和过的公司和部门几乎也只有我是在纯 Linux 上开发,就算嵌入式不少也都是在 Windows 上开发, Linux 上调试, 即便在 Linux 上开发的也是在 Windows 装虚拟机进行开发, 而不是裸跑 Linux 进行开发.

    你说 macOS? 那你一定不是做开发的.
    lscho
    lscho
    Feb 26, 2025
    37
    @minami


    @LitterGopher

    啊?我只是说了“我”,又没有代表别人。不知道你们应激什么。。。
    LitterGopher
    LitterGopher
    Feb 26, 2025
    38
    @lscho #37 好像确实是我应激了, 抱歉, 抱歉.
    Assassin1314
    Assassin1314
    Feb 26, 2025
    39
    @yidev #12 哈哈哈哈,我就是这么做的
    dode
    dode
    Feb 26, 2025
    40
    使用 vscode 编辑器打开,保存时自动提升使用管理员权限强制保存
    sinry
    sinry
    Feb 26, 2025
    41
    你这太慢了,不如 utools ,1 秒打开
    FishBear
    FishBear
    Feb 26, 2025❤️1
    42
    @Zhuzhuchenyan #4 确实 直接按 alt+空格后 输入 host 就可以编辑了
    happyxhw101
    happyxhw101
    Feb 26, 2025
    43
    F2(打开 guake 终端) -> sudo vim /etc/hosts
    Vegetable
    Vegetable
    Feb 26, 2025
    44
    不是,快捷方式不能用吗?
    strobber16
    strobber16
    Feb 26, 2025
    45
    不是,本站用户人手一个软路由谁 TM 还改本机 hosts 啊
    bhqt
    bhqt
    Feb 26, 2025
    46
    hostsx
    vmebeh
    vmebeh
    Feb 26, 2025 via iPhone
    47
    能直接编辑的都是关了 UAC 的,打开任何程序都是有管理员权限,相当于 sudo 任何程序
    psxf
    psxf
    Feb 26, 2025
    48
    ...用 Listary 搜索 host 直接编辑
    ShadowPower
    ShadowPower
    Feb 26, 2025
    49
    @strobber16 公司有一堆环境,微服务改配置里的注册中心和中间件的 IP 地址要花点时间。用域名,直接改 hosts ,然后全部重启就搞定了
    ShadowPower
    ShadowPower
    Feb 26, 2025
    51
    @lscho 我想知道为什么这是你不用 Windows 的原因……
    难道这玩意还影响开发吗?
    killva4624
    killva4624
    Feb 26, 2025
    52
    alias vimhosts='vim /etc/hosts'
    crac
    crac
    Feb 26, 2025
    53
    其实翻墙软件里带这个功能的 直接写配置文件里就行。。。
    jadeborner
    jadeborner
    Feb 26, 2025❤️1
    54
    powertoys 里面不有吗
    yulgang
    yulgang
    Feb 26, 2025
    55
    创建一个快捷方式,比如:

    Hosts.lnk

    Target: %windir%\system32\notepad.exe %windir%\system32\drivers\etc\hosts

    选填:
    Shortcut key: Ctrl + Alt + C
    Advanced: Run as Administrator

    需要需改 hosts 的时候,任意窗口下,按 Ctrl + Alt + C ,允许以管理员身份运行即可。
    minami
    minami
    Feb 26, 2025
    56
    @lscho #37 能说到应激更是个神人,请问哪个系统不用工具改 hosts 不是进去手动改文件?跟 Windows 有什么关系? hosts 是给普通用户改着玩的吗
    woodfizky
    woodfizky
    Feb 26, 2025
    57
    如果用火绒,火绒就有这个类似的工具,帮你解决编辑权限问题。

    在用这个之前,我的做法是复制一个 hosts ,用记事本打开,编辑完之后同名扔回去覆盖。
    dmanbu
    dmanbu
    Feb 26, 2025
    58
    我之所有不喜欢 powershell ,就是因为这玩意又臭又长
    tf2
    tf2
    Feb 26, 2025
    59
    @shujuliuer

    > 关键的点就在这里,无须管理员权限的提示

    呃,权限的问题,你可以手工修改一次,以后都没问题了。或者通过 cacls 命令去修改

    没必要提权。。
    zhizunzz
    zhizunzz
    Feb 26, 2025
    60
    请问你们每天都改几十遍 host 吗
    lscho
    lscho
    Feb 26, 2025
    61
    @minami 能说神人的就更神人了。。我一直在说的是“我”,不知道你在应激什么,我就不想手动点四五层目录进去找 host 文件怎么了?也不想使用 powershell ,我就喜欢直接 vim /etc/host 修改怎么了?甚至我可以说不想使用 windows 的文件管理器,因为我用着有点卡,这怎么了?和你有什么关系吗?真的搞笑。。。
    alading11
    alading11
    Feb 26, 2025
    62
    @Zhuzhuchenyan nb ,一直在用 Power Toys 但是搜索这个功能还真不咋用,批量修改文件名啥的还是挺好用的
    lscho
    lscho
    Feb 26, 2025
    63
    @ShadowPower 你看下 op 列出来改 host 使用的东西,并不是简单的改 host 的问题,而是因为这个问题衍生出来的 powershell 语法、权限设计、甚至文本编辑器带来的换行符问题。我是做后端开发的,代码要放到服务器运行的,在 windows 上开发 linux 运行的话,经常会有奇奇怪怪的小问题,真的会影响到我。

    但是以上仅仅代表 [我] 个人感觉。
    zenghx
    zenghx
    Feb 26, 2025
    64
    gsudo/sudo 就好了
    hefish
    hefish
    Feb 26, 2025
    65
    全球最快,史上最快,国内首创,天下无敌。。。
    esee
    esee
    Feb 26, 2025
    66
    @leee41 我也是这样
    mobaijun
    mobaijun
    Feb 26, 2025
    68
    <img alt="tu" src="https://imgur.com/a/9MEefEw"> 没有这种方式嘛
    ShadowPower
    ShadowPower
    Feb 26, 2025
    69
    @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 的方式需要输入密码。
    asm
    asm
    Feb 26, 2025
    70
    @Alliot 牛啤~ 我以前经常这么输入%systemroot%\system32\drivers\etc.......
    xiaomoxian
    xiaomoxian
    Feb 26, 2025 via Android
    72
    @yidev 我是让 host 文件的快捷方式散布在每一个文件夹下,随时都能打开
    davin
    davin
    Feb 26, 2025
    73
    以前流行 SwitchHosts 的时候,为了方便切换开发环境的 host 配置,经常设置 SwitchHosts 开机自动启动,随用随改。
    magicls
    magicls
    Feb 26, 2025
    74
    蛤?
    mmdsun
    mmdsun
    Feb 26, 2025❤️1
    75
    微软新出了个 sudo 安装下就很方便了
    czz404
    czz404
    Feb 26, 2025
    76
    listary 直接键入 host 也可以
    meteora0tkvo
    meteora0tkvo
    Feb 27, 2025
    77
    Hopetree
    Hopetree
    Feb 27, 2025
    78
    @bbao 有没有一种可能 Windows 上面不能直接编辑 hosts 文件,至少不能直接编辑,你可以拷贝一份编辑之后替换,但是不允许直接编辑
    guanzhangzhang
    guanzhangzhang
    Feb 27, 2025
    79
    大佬,我想写个修改 ip 的,powershell 用 New-NetIPAddress -InterfaceAlias 保存为.ps1 后无法运行,调整 powershell 运行策略后点击要是弹权限
    bbao
    bbao
    Feb 27, 2025❤️1
    80
    @Hopetree 没有可能
    RYAN10041
    RYAN10041
    Feb 27, 2025
    81
    ![右键]( https://imgur.com/a/epy36gl "写在右键菜单里")
    康康我的
    shujuliuer
    shujuliuer
    OP
    Mar 6, 2025
    82
    @Alliot 双击打开后,保存时候没有权限……
    shujuliuer
    shujuliuer
    OP
    Mar 6, 2025
    83
    @xqzr notepad drivers\etc\hosts 可以直接打开文件,但是一样没有保存权限
    xqzr
    xqzr
    Mar 6, 2025
    84
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1467 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 186ms · UTC 19:41 · PVG 03:41 · LAX 11:41 · JFK 14:41
    ♥ Do have faith in what you're doing.