将本地文件夹虚拟成一个盘符

时间:2022-05-05 19:56:37
进入我的电脑后,如果将图标按组排列的话会有本地硬盘、可移动存储设备、扫描仪照相机之类的(XP下是如此)。

我知道DOS命令subst可以将一个文件夹虚拟成一个本地磁盘,但我想问问windos有没有什么API可以在这里创建一个链接,上面提到的任何一种,让其指向本地磁盘的某个文件夹。最好是可以管理它的组的属性,例如定义它的显示名字和组。subst只能将文件夹虚拟成本地磁盘。

欢迎大家对此提出自己的思路和看法,谢谢大家。

18 个解决方案

#1


linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉

#2


该回复于2012-07-18 09:18:52被版主删除

#3


在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir

以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。

#4


好的,谢谢
引用 1 楼  的回复:
linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉

#5


subst这种方法我也会,但是用它得到的是本地磁盘***,例如subst M: c:\Mydir;得到的的是“本地磁盘M”,我无法控制这个默认生成的名字,也无法选择他显示的图标,以及在分组排列的时候他被放在哪个组里面。请问还有其他方式可以实现这个目的吗?谢谢
引用 3 楼  的回复:
在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir

以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。

#6


我自己顶一下

#7


http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的

#8


这个http://www.itpub.net/thread-1094409-1-1.html源码可以完全实现你的想法,不过是VB的,你需要稍加转换。

#9


thanks,DefineDosDevice确实能够创建和删除盘符。我想问问,有没有其他API可以修改盘符的名字,因为我不希望每次生成的都是“本地磁盘***”。
引用 7 楼  的回复:
http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的

#10


我用DefineDosDevice可以生成这个盘符,也能指定他的挂载点。现在的疑问是:
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。

#11


该回复于2012-07-23 14:20:46被版主删除

#12


用映射网络驱动器试试?
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir

#13


删除用
net use M: /delete
net share mydir /delete

#14


根据前面的回答,你可以写个VC,实现自定义的虚拟!!

包含文件夹 ,以及虚拟的名字!!

#15


求详解,谢谢。
引用 14 楼  的回复:
根据前面的回答,你可以写个VC,实现自定义的虚拟!!

包含文件夹 ,以及虚拟的名字!!

#16


http://dokan-dev.net/en/

使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。

可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse

#17


问下楼主解决了没

#18


急呀 楼主如果解决了告知一下,我最近也要做和你描述的一样的需求

#1


linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉

#2


该回复于2012-07-18 09:18:52被版主删除

#3


在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir

以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。

#4


好的,谢谢
引用 1 楼  的回复:
linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉

#5


subst这种方法我也会,但是用它得到的是本地磁盘***,例如subst M: c:\Mydir;得到的的是“本地磁盘M”,我无法控制这个默认生成的名字,也无法选择他显示的图标,以及在分组排列的时候他被放在哪个组里面。请问还有其他方式可以实现这个目的吗?谢谢
引用 3 楼  的回复:
在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir

以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。

#6


我自己顶一下

#7


http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的

#8


这个http://www.itpub.net/thread-1094409-1-1.html源码可以完全实现你的想法,不过是VB的,你需要稍加转换。

#9


thanks,DefineDosDevice确实能够创建和删除盘符。我想问问,有没有其他API可以修改盘符的名字,因为我不希望每次生成的都是“本地磁盘***”。
引用 7 楼  的回复:
http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的

#10


我用DefineDosDevice可以生成这个盘符,也能指定他的挂载点。现在的疑问是:
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。

#11


该回复于2012-07-23 14:20:46被版主删除

#12


用映射网络驱动器试试?
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir

#13


删除用
net use M: /delete
net share mydir /delete

#14


根据前面的回答,你可以写个VC,实现自定义的虚拟!!

包含文件夹 ,以及虚拟的名字!!

#15


求详解,谢谢。
引用 14 楼  的回复:
根据前面的回答,你可以写个VC,实现自定义的虚拟!!

包含文件夹 ,以及虚拟的名字!!

#16


http://dokan-dev.net/en/

使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。

可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse

#17


问下楼主解决了没

#18


急呀 楼主如果解决了告知一下,我最近也要做和你描述的一样的需求