当前位置:首页 > 操作系统 > Windows

windows虚拟盘实现

当很多人都用一台电脑的时候,是不是觉得自己的文件大家都看得见很不方便呢,这个讲例就是讲的在WINDOW XP上让不同的用户除了在C盘有自己的一个系统文件夹外,再创一个私人的分区出来,其它人是看不到的。

 

把B.BAT的文件 里的sfqas换成管理员用户名
F:HOME是各个虚拟盘文件所在的位置

如果要改用其它盘做虚拟盘文件所在的位置,记得把label f: %USERNAME%的盘 的f:修改一下,和上面的F:HOME对应,还有注册表操作那里有个参数我就不多说了

然后把这个文件放到C:Documents and SettingsAll Users「开始」菜单程序启动这个位置

那样的就OK了,当然如果有些安全你做过高也不行


实现原理是这样的:
如果有三个账号,
一个是管理员sfqas
一个是laoliu
一个是xiaoliu
如果是laoliu 登陆,那么程序先去看一下f: home下面有没有laoliu这个文件夹,如果没有就建一个,并修改好权限
虚拟一个Z 盘出来,名字是 laoliu的盘
并把F盘隐藏
这样xiaoliu登陆的时候就看不见laoliu的虚拟的盘,他看见的是什么呢
xiaoliu登陆的时候也做和老刘一样的操作,程序给他虚拟了一个自己的盘
不过呢,只要注消或是断开,虚拟的盘就没有了
文件呢会保存在f: homexiaoliu下面

如果一个用户 登陆了多次运行这个文件,就可以弄得很多个盘, 但都会打开同一个位置
超级管理员可以看得见F盘
xiaoliu和laoliu看不见F盘,但他们通过命令行,或是地址栏里一样可以打开F盘,他们也一样看不了对方的虚拟盘对应的文件夹,不过这个不包括精通电脑的人

 

bat

 

@echo off
set flag=
set homedir=
if exist f:home%USERNAME% set flag=1

if not defined flag md f:home%USERNAME% 2>nul & echo yes

if not defined flag cacls f:home%USERNAME% /e /R guests /c /t
if not defined flag cacls f:home%USERNAME% /e /g sfqas:f /c /t
if not defined flag cacls f:home%USERNAME% /e /r everyone /c /t
if not defined flag cacls f:home%USERNAME% /e /p %USERNAME%:f /c /t
if not defined flag cacls f:home%USERNAME% /e /r administrators
if not defined flag cacls f:home%USERNAME% /e /r users /c /t
if not defined flag cacls f:home%USERNAME% /e /r "CREATOR OWNER" /c /t
if not defined flag cacls f:home%USERNAME% /e /r system /c /t

 


label f: %USERNAME%的盘

set n=0
subst >b.txt
for /f "delims=" %%i in (b.txt) do set /a n+=1

del b.txt

if not %USERNAME% == sfqas if %n%==0 subst z: f:home%USERNAME%
if not %USERNAME% == sfqas if %n%==1 subst y: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==2 subst x: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==3 subst w: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==4 subst v: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==5 subst u: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==6 subst t: f:home%USERNAME% & echo yes
if not %USERNAME% == sfqas if %n%==7 subst s: f:home%USERNAME% & echo yes

reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer" /v NoDrives /t REG_BINARY /d 200000 /f
if %USERNAME% == sfqas reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer" /v NoDrives /t REG_BINARY /d 000000 /f

原文:https://www.cnblogs.com/sfqas/p/12181881.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐