|
2#
楼主 |
发表于 2024-7-15 15:15:53
|
只看该作者
本帖最后由 baby1277 于 2024-9-17 13:28 编辑
如果本地系统分区是独立的分区,稍稍改下把他隐藏起来,绝对能治愈你的强迫症。哈 - @echo off
- if not "%~d0"=="C:" msg %username% /time:3 请在C盘上运行。 && exit
- :: 设置本地系统盘符为Z盘
- SETLOCAL ENABLEDELAYEDEXPANSION
- for %%i in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\Windows for /f %%b in ('mountvol %%i: /l') do set "id=%%b" && mountvol %%i: /d && mountvol Z: !id!
- if not defined id msg %username% /time:3 请在VHD系统上运行。 && exit
- :: 注册表设置隐藏Z盘 可能要重启资源管理器后生效。
- reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "NoDrives" /t REG_DWORD /d "33554432" /f
- :: 获取所有磁盘盘符ID 排除Z盘
- set n1=0
- del /f /q id.txt >nul 2>nul
- for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y) do if exist %%a: for /f %%c in ('mountvol %%a: /l') do echo %%c >>id.txt && set /a n1=n1 +=1
- :: 删除所有磁盘盘符 排除Z盘
- for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y) do if exist %%a: mountvol %%a: /d
- :: 重新分配磁盘盘符 排除Z盘
- set n2=0
- for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y) do if not exist %%a: for /f "delims=" %%i in (id.txt) do (
- if not exist %%a: mountvol %%a: %%i && set /a n2=n2 += 1
- if "%n1%"=="!n2!" goto end
- )
- :end
- del /f /q id.txt >nul 2>nul & set id=
- SETLOCAL DISABLEDELAYEDEXPANSION
复制代码
|
|