如何用批处理隐藏本地C D E F 磁盘(也可以用VB)?
答案:4 悬赏:0 手机版
解决时间 2021-11-16 19:13
- 提问者网友:孤凫
- 2021-11-16 07:27
如何用批处理隐藏本地C D E F 磁盘(也可以用VB)?
最佳答案
- 五星知识达人网友:狂恋
- 2021-11-16 07:52
@echo off
setlocal enabledelayedexpansion
set a=1
for %%i in (b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
set /a no+=1
set /a %%i=1^<^)
set pp="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
echo 【 提示:格式如cdf以隐藏C、D、F分区,不输入字母则取消所有隐藏 】
set /p dd=---输入要隐藏的分区:
set mm=0
:again
if "!dd!"=="" goto :end
set /a mm+=!%dd:~0,1%!
set dd=!dd:~1!
goto :again
:end
reg add %pp% /v NoDrives /t reg_dword /d %mm% /f
tskill explorer
pause
如果XP系统为Home版的话,本批处理会自动重启explorer进程,可立刻看到分区被隐藏了;如果是Professional版的XP的话,好像需要自己手动重启explorer进程才可以生效。
隐藏分区后,可以通过“运行”来访问隐藏分区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
隐藏磁盘三招
解决方案一:
1.右键单击"我的电脑"。
2.打开:管理-磁盘管理。
3.在右边出现的磁盘分区里,你想隐藏的分区上右键单击“更改驱动器名和路径”。
4.出现一个对话框,点击“删除”。
5.出现一个确定对话框,点击“是”。就ok。
如果你要找回隐藏的分区就在4的对话框点添加就行了
解决方案二:
运行gpedit.msc打开组策略编辑器
并依次展开至用户配置--管理模板--windows组件--windows资源管理器--找到"隐藏"我的电脑"中指定的这些驱动器"双击并修改为已启用并选择你需要隐藏的分区确定并退出就可以了.
解决方案三:
开始运行regedit打开注册表,依次打开HCU\software\microsoft\windows\currentrersion\policies\explorer
DWORD值NoPrives 设置值12隐藏G 值8隐藏D
setlocal enabledelayedexpansion
set a=1
for %%i in (b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
set /a no+=1
set /a %%i=1^<^)
set pp="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
echo 【 提示:格式如cdf以隐藏C、D、F分区,不输入字母则取消所有隐藏 】
set /p dd=---输入要隐藏的分区:
set mm=0
:again
if "!dd!"=="" goto :end
set /a mm+=!%dd:~0,1%!
set dd=!dd:~1!
goto :again
:end
reg add %pp% /v NoDrives /t reg_dword /d %mm% /f
tskill explorer
pause
如果XP系统为Home版的话,本批处理会自动重启explorer进程,可立刻看到分区被隐藏了;如果是Professional版的XP的话,好像需要自己手动重启explorer进程才可以生效。
隐藏分区后,可以通过“运行”来访问隐藏分区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
隐藏磁盘三招
解决方案一:
1.右键单击"我的电脑"。
2.打开:管理-磁盘管理。
3.在右边出现的磁盘分区里,你想隐藏的分区上右键单击“更改驱动器名和路径”。
4.出现一个对话框,点击“删除”。
5.出现一个确定对话框,点击“是”。就ok。
如果你要找回隐藏的分区就在4的对话框点添加就行了
解决方案二:
运行gpedit.msc打开组策略编辑器
并依次展开至用户配置--管理模板--windows组件--windows资源管理器--找到"隐藏"我的电脑"中指定的这些驱动器"双击并修改为已启用并选择你需要隐藏的分区确定并退出就可以了.
解决方案三:
开始运行regedit打开注册表,依次打开HCU\software\microsoft\windows\currentrersion\policies\explorer
DWORD值NoPrives 设置值12隐藏G 值8隐藏D
全部回答
- 1楼网友:掌灯师
- 2021-11-16 09:19
如果你不是在学习批处理的话,可以使用超级兔子,带有此功能。
- 2楼网友:深街酒徒
- 2021-11-16 09:08
这里边可以选的,没那么麻烦的!限制所有驱动器!
- 3楼网友:西风乍起
- 2021-11-16 09:01
A=1
B=2
C=4
D=8
E=16
F=32
G=64
H=128
I=256
J=512
K=1024
L=2048
M=4096
N=8192
O=16384
P=32768
Q=65536
R=131072
S=262144
T=524288
U=1048576
V=2097152
W=4194304
X=8388608
Y=16777216
Z=33554432
rem 以下bathome wxcute写的是完整代码
::::::::::::::::我是分隔线:::::::::::::::::::::
@echo off
:inp
cls
set Drv=
echo 输入数字“0”取消隐藏,输入若干字母隐藏相应的磁盘。
set/p Drv=输入磁盘(如:EaF)-
if "%Drv%"=="" goto :inp
if %Drv%==0 set TT=00&goto :hidrv
::小写换大写顺序输出并剔除重复
set mat=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
for %%d in (%mat%) do (
call set _%%d=
)
:lp
if not defined _%Drv:~,1% set "_%Drv:~,1%=1"
set "Drv=%Drv:~1%"
if defined Drv goto lp
set n=1
set n10=
set Dnum=
for %%m in (%mat%) do (
call :setn n
if defined _%%m (
call :sshow %%m Drv Dnum n2 n10
)
)
::显示
echo.
echo 要隐藏的磁盘有%Drv%,共[%Dnum%]个盘。
::换成十六进制
:reg16
setlocal enableDelayedExpansion
call :A %n10%
::注册表二进制数值表达方式
::T3换BIN
set TT=
:bi
set/a x+=1
set Tn=0%T3:~-2%
set Tn=!Tn:~-2!
set T3=%T3:~,-2%
set TT=!TT!!Tn!
if not #%T3%==# goto :bi
::隐藏磁盘
::-=核心代码=-
:hidrv
set TT=%TT%000000
reg add HKCU\SoftWare\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /t REG_BINARY /d %TT:~,8% /f
echo 结束explorer进程生效。按任意键结束并打开我的电脑查看
ping -n 3 127.1>nul
taskkill /f /im explorer.exe>nul
endlocal
start explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
ping -n 3 127.1>nul
goto :eof
::调用标签
:sshow
set %2=%Drv%%1
set/a %3+=1
set/a %4=n/2
set/a %5+=n2
goto :eof
:setn
set/a %1*=2
goto :eof
:A
set str=0123456789ABCDEF
set T1=%1
SET T3=
:B
set/A T2=T1%%16
SET T2=!str:~%t2%,1!
SET/A T1=%T1%/16
SET T3=%T2%%T3%
IF %T1%==0 GOTO :EOF
GOTO B
B=2
C=4
D=8
E=16
F=32
G=64
H=128
I=256
J=512
K=1024
L=2048
M=4096
N=8192
O=16384
P=32768
Q=65536
R=131072
S=262144
T=524288
U=1048576
V=2097152
W=4194304
X=8388608
Y=16777216
Z=33554432
rem 以下bathome wxcute写的是完整代码
::::::::::::::::我是分隔线:::::::::::::::::::::
@echo off
:inp
cls
set Drv=
echo 输入数字“0”取消隐藏,输入若干字母隐藏相应的磁盘。
set/p Drv=输入磁盘(如:EaF)-
if "%Drv%"=="" goto :inp
if %Drv%==0 set TT=00&goto :hidrv
::小写换大写顺序输出并剔除重复
set mat=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
for %%d in (%mat%) do (
call set _%%d=
)
:lp
if not defined _%Drv:~,1% set "_%Drv:~,1%=1"
set "Drv=%Drv:~1%"
if defined Drv goto lp
set n=1
set n10=
set Dnum=
for %%m in (%mat%) do (
call :setn n
if defined _%%m (
call :sshow %%m Drv Dnum n2 n10
)
)
::显示
echo.
echo 要隐藏的磁盘有%Drv%,共[%Dnum%]个盘。
::换成十六进制
:reg16
setlocal enableDelayedExpansion
call :A %n10%
::注册表二进制数值表达方式
::T3换BIN
set TT=
:bi
set/a x+=1
set Tn=0%T3:~-2%
set Tn=!Tn:~-2!
set T3=%T3:~,-2%
set TT=!TT!!Tn!
if not #%T3%==# goto :bi
::隐藏磁盘
::-=核心代码=-
:hidrv
set TT=%TT%000000
reg add HKCU\SoftWare\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /t REG_BINARY /d %TT:~,8% /f
echo 结束explorer进程生效。按任意键结束并打开我的电脑查看
ping -n 3 127.1>nul
taskkill /f /im explorer.exe>nul
endlocal
start explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
ping -n 3 127.1>nul
goto :eof
::调用标签
:sshow
set %2=%Drv%%1
set/a %3+=1
set/a %4=n/2
set/a %5+=n2
goto :eof
:setn
set/a %1*=2
goto :eof
:A
set str=0123456789ABCDEF
set T1=%1
SET T3=
:B
set/A T2=T1%%16
SET T2=!str:~%t2%,1!
SET/A T1=%T1%/16
SET T3=%T2%%T3%
IF %T1%==0 GOTO :EOF
GOTO B
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯