所以我的老师都是命令提示符的忠实粉丝,我们一直在使用它,所以我习惯了它,现在我离不开它,它总是打开的,我的鼠标只是次要配件。所以今天,我想创建一个虚拟驱动器,并使其在启动时初始化。因此,我在桌面上创建了cmd.exe的快捷方式,进入启动文件,创建了一个包含以下内容的批处理文件:@echo off subst w: c:Users******DocumentsCodEnv
它按预期工作,但现在当我尝试进入虚拟驱动器时,使用一个简单的";w: ";,上面写着";系统找不到指定的驱动器";,但它就在那里!那么,有人能解释一下这件事吗?
这是因为subst
命令是特定于权限的,如果您尝试使用管理命令提示符运行它,而不是使用标准命令提示符,则可以自己测试。
因此,如果您要打开一个admin cmd并运行命令:只有具有管理员权限才能访问驱动器。
如果要打开标准cmd并运行命令:只有具有标准权限才能访问驱动器。
启动将在没有管理员权限的情况下运行
为了回答我的问题,存在一些问题,即使您尝试从启动文件初始化批处理文件,它也不总是有效的。但有一个名为VSubst的小程序可以让你创建一个虚拟驱动器,在重新启动时保持不变。其他一些解决方案包括向注册表添加一个密钥,在该论坛上有更多关于此的信息https://superuser.com/questions/29072/how-to-make-subst-mapping-persistent-across-reboots
所以希望它能帮助到别人!
以下代码段在没有创建和使用虚拟驱动器的快捷方式的情况下运行良好,不需要管理员权限:
@echo off
subst w: %userprofile%DocumentsCodEnv
timeout 3 >nul
echo Hello > w:test.txt
exit /b
请在此处检查在windows重新启动后幸存的持久子集(PSubst(。它是一个开源的批处理文件。
https://github.com/cyberponk/psubst