是否可以在 Windows 上的 Emacs 内部以管理员身份打开文件?
在 Linux 中,可以使用 tramp 以管理员身份打开,通过以下路径打开文件(/sudo::/path/to/file
)?
但是,同样的文件路径在 Windows 中无法工作(当然)。那么如何在 Emacs 会话期间请求提升单个文件的权限呢?
如果可能的话,我想避免以管理员身份启动 Emacs。
可能必须在 Windows 中为此进行一些设置 - 如果有的话?也许是特权网络访问之类的东西?..
答案1
我认为没有本机的方法可以做到这一点,因此我依赖第三方工具:http://code.kliu.org/misc/elevate每当我需要这样做的时候。
c:\elevate runemacs filename.txt
在 UAC 对话框中输入您的凭据,您的程序将以管理权限运行。
答案2
未提升权限的程序无法编辑需要提升管理员权限的文件。
尽管 Windows 中的程序可以通过合法的 Windows API(根据著名的对话框)提升自己的权限,但这需要不属于 Emacs 的代码,除非您愿意修改其源代码。
非管理员 Emacs 编辑管理文件的一个解决方案是,复制 Emacs 可执行文件并在文件属性/兼容性中将其标记为“以管理员身份运行”,然后从 Emacs 启动该副本来编辑这些文件。
还有其他方法可以运行提升权限的程序,包括使用 Windowsrunas 命令,也可以从 .bat 文件中使用。这些方法不需要复制 Emacs。