|
|
早些时候写过WCS,但没捐助没刷评论不够等级传不了文件
- ENVI 修改时间=2026.06.07
- LOCK --exist #盘符管理-%修改时间%,锁定进程
- IFEX $%锁定进程%=1,
- {
- REGI .HKCU\Software\盘符管理-%修改时间%\CKID,CKID
- ENVI @@Visable=%CKID%:2
- ENVI @@POS=%CKID%:::::::1
- KILL -tree *%&__PID%
- }
- //适应高DPI
- TEAM ENVI ?ver=WinVer|CALC v1=%ver:~,-8%|CALC v2=0x%ver:~3,4%|CALC v3=0x%ver:~7%|ENVI ver=%v1%%v2%
- TEAM SCRN -desk ,,,,,,,DPI|ENVI 指定缩放=
- IFEX $%ver%<60,ENVI 指定缩放=-scalef
- IFEX [$%ver%>=60 & $%ver%<63],TEAM CALL $user32.dll,SetProcessDPIAware|ENVI 指定缩放=-scale:%DPI%
- IFEX [$%ver%=63 $%v3%<15063],TEAM CALL $Shcore.dll,SetProcessDpiAwareness,#2|ENVI 指定缩放=-scale:%DPI%
- IFEX [$%ver%>=100 & $%v3%>=15063],CALL $user32.dll,SetProcessDpiAwarenessContext,#-5
- ENVI 空变量=
- ENVI$ TAB=09
- CALL 主窗口
- REGI HKCU\Software\盘符管理-%修改时间%\!
- KILL -tree *%&__PID%
- EXIT
- _SUB 主窗口,W670H400,盘符管理,,,,,-ntab %指定缩放%
- ENVI @this.Font=:微软雅黑
- LABE+ -trans ,L12T12W640H267
- TABL -font:9:::::::::24 ,L13T13W638H25,+70:序号%TAB%+120:卷标%TAB%+80:盘符%TAB%+90:分区大小%TAB%+80:格式%TAB%+80:分区表%TAB%+90:类型,,0x4000
- TABL -font:9:::::::::24 表格,L13T38W638H240,+70:%TAB%120:%TAB%+80:%TAB%=90:%TAB%+80:%TAB%+80:%TAB%+90:,,0x16000 //0x2000 0x4000 0x10000
- ITEM ,L117T303W100H40,刷新列表,THREAD* 查询磁盘
- ITEM ,L227T303W100H40,卸载盘符,CALL 卸载盘符
- ITEM ,L337T303W100H40,分配盘符,CALL 分配盘符
- ITEM ,L447T303W100H40,更改盘符,CALL 更改盘符
- LOCK #盘符管理-%修改时间%
- REGI $HKCU\Software\盘符管理-%修改时间%\CKID=%&__WINID%
- THREAD* 查询磁盘
- EXEC !=cmd.exe /c ver //减少内存占用,很神奇
- _END
- _SUB 查询磁盘
- IFEX $%已选%=1,EXIT!ENVI 已选=1
- ENVI A=0
- //TEAM ENVI @表格.Sel=?选中表格|ENVI @表格.Sel=%选中表格%;0 //刷新不选中
- ENVI @表格.Val=-*
- PART list disk ,所有磁盘
- FORX* %所有磁盘%,循环磁序,
- {
- PART -iv=10 list disk %循环磁序%,分区表
- PART list part %循环磁序%,分区序号
- SED 分区序号=0,[-\@=][1-9][0-9]*[ ]*,,%分区序号%
- FORX* %分区序号%,循环分序,
- {
- PART list part %循环磁序%:%循环分序%,分区信息
- MSTR 分区序号,类型,活动分区,分区字节,分区路径,分区盘符=<1><2><3><5><7><8>%分区信息%
- IFEX $%分区序号%=0,EXIT -
- IFEX $%分区字节%B<1G,TEAM CALC 分区大小=%分区字节%/1M##1|ENVI 分区大小=%分区大小%M
- IFEX $%分区字节%B>=1G,TEAM CALC 分区大小=%分区字节%/1G##1|ENVI 分区大小=%分区大小%G
- IFEX $%分区字节%B>=1T,TEAM CALC 分区大小=%分区字节%/1T##1|ENVI 分区大小=%分区大小%T
- SED 一个盘符=0,:,: ,%分区盘符%
- MSTR 一个盘符=<1>%一个盘符%
- CALL 查询分区 "%分区路径%" "%一个盘符%" "%循环磁序%" "%分区序号%"
- CALL 查询类型 %类型%
- IFEX [|%分区表%=MBR & $%活动分区%=1],ENVI 分区类型=活动
- CALC A=%A%+1
- ENVI @表格.Val=%A%;%循环磁序%:%分区序号%%TAB%%分区卷标%%TAB%%分区盘符%%TAB%%分区大小%%TAB%%分区格式%%TAB%%分区表%%TAB%%分区类型%
- }
- }
- ENVI 已选=0
- _END
- _SUB 查询分区
- TEAM ENVI 传分区路径=%~1|ENVI 传分区盘符=%~2|ENVI 传磁盘号=%~3|ENVI 传分区号=%~4
- TEAM ENVI 分区卷标=|ENVI 分区格式=
- FDRV *vol 分区卷标,分区格式=\\?\Volume{%传分区路径%}
- IFEX [|%分区卷标%=%空变量% & |%分区格式%=%空变量%],FDRV *vol 分区卷标,分区格式=%传分区盘符%
- IFEX [|%分区卷标%=%空变量% & |%分区格式%=%空变量%],
- {
- CALL 查询空闲盘符
- IFEX |%空闲盘符%=%空变量%,EXIT
- SHOW & %传磁盘号%:%传分区号%,%空闲盘符%
- FDRV *vol 分区卷标,分区格式=%空闲盘符%
- SUBJ &- %空闲盘符%:
- IFEX %空闲盘符%:\,SUBJ *- %空闲盘符%:
- }
- _END
- _SUB 查询类型
- TEAM ENVI 传类型=%1|ENVI 分区类型=
- IFEX |%传类型%=C12A7328-F81F-11D2-BA4B-00A0C93EC93B,ENVI 分区类型=ESP
- IFEX |%传类型%=E3C9E316-0B5C-4DB8-817D-F92DF00215AE,ENVI 分区类型=MSR
- IFEX |%传类型%=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC,ENVI 分区类型=WinRE
- IFEX |%传类型%=0FC63DAF-8483-4772-8E79-3D69D8477DE4,ENVI 分区类型=Linux DATA
- IFEX |%传类型%=A19D880F-05FC-4D3B-A006-743F0F84911E,ENVI 分区类型=Linux RAID
- IFEX |%传类型%=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F,ENVI 分区类型=Linux SWAP
- _END
- _SUB 卸载盘符
- ENVI @表格.Sel=?选中表格
- IFEX $%选中表格%=0,TEAM MESS=+icon5 未选择分区@ 提示|EXIT
- IFEX $%运行%=1,EXIT!ENVI 运行=1
- ENVI @表格.Val=?%选中表格%.1;磁盘分区号
- SED 磁盘分区号=0,:, ,%磁盘分区号%
- MSTR 选中磁序,选中分序=<1><2>%磁盘分区号%
- DISK 确认盘符,%选中磁序%,%选中分序%
- IFEX |%确认盘符%=%空变量%,TEAM ENVI 运行=0|EXIT
- SED 确认盘符=0,:,: ,%确认盘符%
- FORX* %确认盘符%,盘符确认,IFEX |%盘符确认%=%SystemDrive%,TEAM MESS=+icon5 系统盘不可卸载@ 提示|ENVI 运行=0|EXIT _SUB
- SHOW - %选中磁序%:%选中分序%
- ENVI 运行=0
- THREAD* 查询磁盘
- _END
- _SUB 分配盘符
- ENVI @表格.Sel=?选中表格
- IFEX $%选中表格%=0,TEAM MESS=+icon5 未选择分区@ 提示|EXIT
- IFEX $%运行%=1,EXIT!ENVI 运行=1
- ENVI @表格.Val=?%选中表格%.1;磁盘分区号
- SED 磁盘分区号=0,:, ,%磁盘分区号%
- MSTR 选中磁序,选中分序=<1><2>%磁盘分区号%
- DISK 确认盘符,%选中磁序%,%选中分序%
- IFEX |%确认盘符%<>%空变量%,TEAM ENVI 运行=0|EXIT
- CALL 查询空闲盘符
- IFEX |%空闲盘符%=%空变量%,TEAM MESS=+icon5 没有空闲的盘符可分配@ 提示|ENVI 运行=0|EXIT
- SHOW %选中磁序%:%选中分序%,%空闲盘符%
- ENVI 运行=0
- THREAD* 查询磁盘
- _END
- _SUB 更改盘符
- ENVI @表格.Sel=?选中表格
- IFEX $%选中表格%=0,TEAM MESS=+icon5 未选择分区@ 提示|EXIT
- IFEX $%运行%=1,EXIT!ENVI 运行=1
- ENVI @表格.Val=?%选中表格%.1;磁盘分区号
- SED 磁盘分区号=0,:, ,%磁盘分区号%
- MSTR 选中磁序,选中分序=<1><2>%磁盘分区号%
- DISK 确认盘符,%选中磁序%,%选中分序%
- SED 确认盘符=0,:,: ,%确认盘符%
- FORX* %确认盘符%,盘符确认,IFEX |%盘符确认%=%SystemDrive%,TEAM MESS=+icon5 系统盘不可更改@ 提示|ENVI 运行=0|EXIT _SUB
- CALL 更改盘符窗口
- ENVI @主窗口.POS=:::::::1
- ENVI 运行=0
- THREAD* 查询磁盘
- _END
- _SUB 更改盘符窗口,W300H200,更改或分配新的盘符,,,,,-disminb -ntab
- ENVI @this.Font=10:微软雅黑
- ENVI @表格.Val=?%选中表格%.1;磁盘分区号
- ENVI @表格.Val=?%选中表格%.3;表格盘符
- LABE ,L14T10W265H20,为 %磁盘分区号% %表格盘符% 更改或分配新的盘符。
- LABE ,L14T44W100H20,分配以下盘符:
- FDRV *idle 空闲盘符=
- LIST -h 盘符列表,L220T40W60H200,%空闲盘符%,,,0x100
- ITEM ,L150T125W62H30,确定,TEAM CALL 确定|KILL @更改盘符窗口
- ITEM ,L219T125W62H30,取消,KILL @更改盘符窗口
- ENVI C=1
- IFEX A:\,!CALC C=%C%+1
- IFEX B:\,!CALC C=%C%+1
- ENVI @盘符列表.QUERY=%C%;查询盘符
- IFEX |%查询盘符%=%空变量%,ENVI @盘符列表.isel=1!ENVI @盘符列表.isel=%C%
- _END
- _SUB 确定
- ENVI @表格.Val=?%选中表格%.1;磁盘分区号
- SED 磁盘分区号=0,:, ,%磁盘分区号%
- MSTR 选中磁序,选中分序=<1><2>%磁盘分区号%
- DISK 确认盘符,%选中磁序%,%选中分序%
- IFEX |%确认盘符%<>%空变量%,SHOW - %选中磁序%:%选中分序%
- SHOW %选中磁序%:%选中分序%,%盘符列表%
- _END
- _SUB 查询空闲盘符
- ENVI 空闲盘符=
- TEAM FDRV -idlec 空闲盘符=*|MSTR 空闲盘符=<1>%空闲盘符% //获取除AB盘外的其它空闲盘符
- IFEX |%空闲盘符%=%空变量%,TEAM FDRV -idle 空闲盘符=*|MSTR 空闲盘符=<1>%空闲盘符% //没有再获取AB盘
- _END
复制代码
|
|