修改注册表隐藏磁盘,小工具
使用注册表隐藏驱动器的步骤:
1、打开注册表编辑器,定位到注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
2、在注册表编辑器窗口右侧创建一个DWORD(32位)值,将其命名为:NoDrives
3、计算需要隐藏的盘符对应的数值,计算方法为A盘对应2的0次方,B盘对应2的1次方,C盘对应2的2次方……以此类推,多个盘符则分别计算其对应的数值后加在一起即可
4、将NoDrives的值数据设置为十进制,并填写计算出的数值
5、重启文件资源管理器Explorer.exe即可
一、手工操作
- 打开注册表,定位至
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer - 在右侧窗口中新建一个类型为
DOWRD(32位)的键值,将其命名为NoDrives - 计算需要隐藏的磁盘驱动器的数值,A盘的值为2的0次方,B盘的值为2的1次方,C盘的值为2的2次方,依此类推。若需隐藏多个磁盘驱动器,则将多个磁盘驱动器的值相加
- 修改
NoDrives键值数据,基数选择十进制,数值数据填写为刚才计算得到的值 - 打开任务管理器,重启
Explorer.exe(Windows 资源管理器)
二、使用脚本
1、使用脚本操作注册表
-
以管理员权限打开命令提示符
-
输入以下命令即可替代手工操作中的步骤1、2、4,命令中
/d后面的4即对应C盘
| reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /t REG_DWORD /d 4 /f |
2、使用脚本计算单个盘符对应的值
复制以下代码到记事本中,并将其另存为“盘符数值计算.cmd”
| @echo off | |
| setlocal enabledelayedexpansion | |
| set /p drive=请输入一个盘符(仅字母): | |
| set n=0 | |
| for %%i in (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) do ( | |
| set /a bn=1^<^<!n! | |
| if /i %%i equ !drive! ( | |
| echo %%i = !bn! | |
| ) | |
| set /a n+=1 | |
| ) | |
| pause | |
| exit |
运行批处理,假如你输入的是D,回车后,你应该得到D=8的输出显示
3、调整代码使其支持多个盘符数值的自动计算
使用以下代码,覆盖之前的cmd文件代码
| @echo off | |
| setlocal enabledelayedexpansion | |
| set /p drives=请输入需要隐藏的盘符(仅字母),以空格作为分隔: | |
| for %%d in (!drives!) do call :calc %%d | |
| setlocal disabledelayedexpansion | |
| pause | |
| exit | |
| :calc | |
| set n=0 | |
| for %%i in (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) do ( | |
| set /a bn=1^<^<!n! | |
| if /i %%i equ %1 ( | |
| echo %%i = !bn! | |
| ) | |
| set /a n+=1 | |
| ) | |
| goto :eof |
运行批处理文件,输入D E F,你将能看到它可以输出每个盘符对应的数值
4、完善代码使其可以自动累加并添加到注册表
完整的批处理代码
| :: 隐藏磁盘 | |
| @echo off | |
| setlocal enabledelayedexpansion | |
| set sn=0 | |
| set /p drives=请输入需要隐藏的盘符(仅字母),以空格作为分隔: | |
| for %%d in (!drives!) do call :calc %%d | |
| echo 合计!sn! | |
| reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /t REG_DWORD /d !sn! /f | |
| setlocal disabledelayedexpansion | |
| echo. | |
| echo 需要重启Explorer.exe使其生效 | |
| pause | |
| exit | |
| :calc | |
| set n=0 | |
| for %%i in (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) do ( | |
| set /a bn=1^<^<!n! | |
| if /i %%i equ %1 ( | |
| echo %%i = !bn! | |
| set /a sn+=!bn! | |
| ) | |
| set /a n+=1 | |
| ) | |
| goto :eof |
最后,如果需要脚本自动重启Explorer.exe可以单独使用以下命令
| taskkill /f /im "explorer.exe" && start "explorer.exe" |
也可以在批处理中的pause命令后面敲击回车,另起一行后粘贴此命令
| rem 之前的代码不变... | |
| pause | |
| taskkill /f /im "explorer.exe" && start "explorer.exe" | |
| exit | |
| rem 之后的代码不变... |
三、最后为了美观,使用C#写了一个GUI工具
1、工具预览

2、下载须知
工具使用.NET 10框架编写,故而电脑中若没有此运行库,可能会提示你下载

点击Download it now下载并安装运行库即可
本工具下载地址:点我下载
2026-01-16 14:47:24【出处】:https://www.cnblogs.com/xiuxing-lab/p/19460261
=======================================================================================
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。(●'◡'●)
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/19492035
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
浙公网安备 33010602011771号