我知道DOS命令subst可以将一个文件夹虚拟成一个本地磁盘,但我想问问windos有没有什么API可以在这里创建一个链接,上面提到的任何一种,让其指向本地磁盘的某个文件夹。最好是可以管理它的组的属性,例如定义它的显示名字和组。subst只能将文件夹虚拟成本地磁盘。
欢迎大家对此提出自己的思路和看法,谢谢大家。
18 个解决方案
#1
linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉
#2
#3
在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir
以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。
subst M: c:\Mydir
以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。
#4
好的,谢谢
#5
subst这种方法我也会,但是用它得到的是本地磁盘***,例如subst M: c:\Mydir;得到的的是“本地磁盘M”,我无法控制这个默认生成的名字,也无法选择他显示的图标,以及在分组排列的时候他被放在哪个组里面。请问还有其他方式可以实现这个目的吗?谢谢
#6
我自己顶一下
#7
http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的
google到的
#8
这个http://www.itpub.net/thread-1094409-1-1.html源码可以完全实现你的想法,不过是VB的,你需要稍加转换。
#9
thanks,DefineDosDevice确实能够创建和删除盘符。我想问问,有没有其他API可以修改盘符的名字,因为我不希望每次生成的都是“本地磁盘***”。
#10
我用DefineDosDevice可以生成这个盘符,也能指定他的挂载点。现在的疑问是:
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。
#11
#12
用映射网络驱动器试试?
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir
#13
删除用
net use M: /delete
net share mydir /delete
net use M: /delete
net share mydir /delete
#14
根据前面的回答,你可以写个VC,实现自定义的虚拟!!
包含文件夹 ,以及虚拟的名字!!
包含文件夹 ,以及虚拟的名字!!
#15
求详解,谢谢。
#16
http://dokan-dev.net/en/
使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。
可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse
使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。
可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse
#17
问下楼主解决了没
#18
急呀 楼主如果解决了告知一下,我最近也要做和你描述的一样的需求
#1
linux里的losetup貌似可以把镜像虚拟为一个设备 windows的不熟悉
#2
#3
在开始、程序、启动里面新建一个快捷方式,指向一个批处理a.bat:
subst M: c:\Mydir
以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。
subst M: c:\Mydir
以后开机自动执行这个批处理,在资源管理器里面就可以看到M:盘了。
如果忘记M:盘指向了哪个实际文件夹,可以在cmd窗口中执行subst命令查看。
#4
好的,谢谢
#5
subst这种方法我也会,但是用它得到的是本地磁盘***,例如subst M: c:\Mydir;得到的的是“本地磁盘M”,我无法控制这个默认生成的名字,也无法选择他显示的图标,以及在分组排列的时候他被放在哪个组里面。请问还有其他方式可以实现这个目的吗?谢谢
#6
我自己顶一下
#7
http://forum.sysinternals.com/drive-subst-api_topic9063.html
google到的
google到的
#8
这个http://www.itpub.net/thread-1094409-1-1.html源码可以完全实现你的想法,不过是VB的,你需要稍加转换。
#9
thanks,DefineDosDevice确实能够创建和删除盘符。我想问问,有没有其他API可以修改盘符的名字,因为我不希望每次生成的都是“本地磁盘***”。
#10
我用DefineDosDevice可以生成这个盘符,也能指定他的挂载点。现在的疑问是:
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。
1.我试图用SetVolumeMountPoint重新挂载这个新建的盘符不起作用。
2.无法使用SetVolumeLable修改所创建盘符的标签,GetLastError返回144,意思是目录并非根目录下的子目录。使用SetVolumeLable可以修改及其固有盘符的标签。
#11
#12
用映射网络驱动器试试?
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir
net share mydir=c:\MyDir
net use M: \\127.0.0.1\mydir
#13
删除用
net use M: /delete
net share mydir /delete
net use M: /delete
net share mydir /delete
#14
根据前面的回答,你可以写个VC,实现自定义的虚拟!!
包含文件夹 ,以及虚拟的名字!!
包含文件夹 ,以及虚拟的名字!!
#15
求详解,谢谢。
#16
http://dokan-dev.net/en/
使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。
可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse
使用这东西,可以映射本地文件夹、网络文件夹,甚至是虚构不存在的文件、文件夹。
可以映射成本地磁盘、网络盘、U盘,功能强悍,Windows下的Fuse
#17
问下楼主解决了没
#18
急呀 楼主如果解决了告知一下,我最近也要做和你描述的一样的需求