在非管理进程中隐藏 Subst 驱动器

在非管理进程中隐藏 Subst 驱动器

我有一个本地文件夹,X:\Source\Q_Project我想将其映射到Q:驱动器号。我使用指向批处理文件的快捷方式来实现此目的。批处理文件是:

@echo off
subst q: /d
subst q: X:\Source\Q_Project

这在 Windows 7 Ultimate 64 位上运行良好 - 我能够Q:从 Windows 资源管理器和任何其他 32/64 位程序(包括控制台等)中看到该驱动器。

在 Windows 8 Home 64 位下,这不再有效。我已关闭 UAC(仅通过 UI 关闭,因此它并没有真正关闭,但警告无论如何都是关闭的)。快捷方式设置为在选项卡下以管理员身份运行Properties->Shortcut

当我双击快捷方式时,批处理文件将执行,并且驱动Q:器可从一个特定程序 Far Manager(32 位控制台应用程序,以管理员身份运行)中看到。如果我通过 Far Manager 启动一个进程,该进程也会看到该Q:驱动器。我尝试通过文件资源管理器或其他桌面快捷方式启动的任何程序都看不到替换的驱动器。如果我使用 运行快捷方式Run as administrator,这些程序将看到该Q:驱动器。

这让我抓狂了 - 有没有什么办法可以修复这个糟糕的操作系统?Windows 7 可以完美地解决这个问题(我在 Windows 7 下以实际管理员身份运行,但在 Windows 8 下,我试图看看是否可以“正确”地做到这一点 - 到目前为止这似乎失败了,我不得不一直以管理员身份运行所有操作)。

唯一能真正关闭 UAC 并以实际管理员身份运行的选项是吗?我知道这会杀死所有 Metro 应用程序,但我不介意。

注意:通过注册表进行永久映射对我来说不起作用(我也有一个)。我需要能够Q:频繁地将驱动器重新映射到不同的源代码存储库,而无需注销/重新启动。

答案1

如果您想用 subst“映射”文件夹并使用程序的“管理员实例”,您也必须以管理员身份执行“subst”。简单 ;)

右键单击您的快捷方式,然后单击“以管理员身份运行...”

相关内容