作为开发人员,我发现自己hosts
经常编辑文件以添加本地虚拟主机。
由于该hosts
文件需要以管理员身份编辑,因此我必须:
- 点击开始菜单
- 类型
notepad
- 右键单击记事本图标,单击以管理员身份运行
- 点击是的
- 然后打开...
C:\Windows\System32\drivers\etc\hosts
相当麻烦。
我尝试hosts
在桌面上创建该文件的快捷方式,然后右键单击它以更改快捷方式先进的属性,但我无法选择以管理员身份运行。
我猜这是因为我正在创建文件的快捷方式,而不是程序的快捷方式notepad
。
如何创建以管理员身份运行并打开 hosts 文件的记事本快捷方式?如果我必须点击,那就没问题是的每次都要确认我要以管理员身份运行该程序。
答案1
干得好:
就是这样,每次使用时你都需要向 UAC 确认。
右键单击桌面
新建 > 快捷方式
输入“notepad”作为位置
给快捷方式命名
右键单击 -> 快捷方式上的属性
在“目标”文本框的末尾附加“%SYSTEMROOT%\System32\drivers\etc\hosts”(记得留一个空格)
点击“高级”
勾选以管理员身份运行
然后在两个窗口中按“确定”
答案2
无需 UAC 确认的 CMD 批处理
打开一个新的文本文件,复制并粘贴该行并将其另存为
something.cmd
runas /profile /user:Administrator /savecred "notepad C:\Windows\System32\drivers\etc\hosts"
无需 UAC 确认的快捷方式
右键点击桌面»新建»快捷方式
cmd /c runas /profile /user:Administrator /savecred "notepad C:\Windows\System32\drivers\etc\hosts"
这两种方法都会先询问管理员密码并保存。
这仅在您的管理员帐户已启用时才有效。
答案3
创建一个对所有人具有完全权限的文件夹,并将其添加到 PATH。
在其中创建一个名为的文件,sudo.cmd
其中包含以下文本:
@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs
现在,输入sudo notepad
将以管理员权限启动记事本(首先提示 UAC)。这真的很方便(您也可以sudo cmd
或sudo AnyAppYouCanThinkOf
)。
然后创建一个名为的文件hosts.cmd
并使用以下行保存:
@sudo notepad %systemroot%\System32\drivers\etc\hosts
现在只需按下Win并输入hosts
,然后按Enter,你就会有一个 UAC 提示来打开主办方记事本中的文件!