标题: [数值计算] [已解决]系统启动(bios或uefi)-硬盘格式(mbr或gpt),硬盘容量显示,代码修改? [打印本页]
作者: ygqiang 时间: 2024-7-27 08:37 标题: [已解决]系统启动(bios或uefi)-硬盘格式(mbr或gpt),硬盘容量显示,代码修改?
本帖最后由 ygqiang 于 2024-7-27 11:36 编辑
[已解决]系统启动(bios或uefi)-硬盘格式(mbr或gpt),硬盘容量显示,代码如何修改?
===========其他显示功能不要改动,只要修改硬盘容量显示就行。谢谢
硬盘容量只显示一系列数字,如何修改显示为整数形式?比如:
8G、16G、32G、64G、128G、256G、512G
或者1T、2T、3T、4T、...- @fltmc>nul||mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close)&&exit
- @echo off
- cd /d "%~dp0"
- cls
-
- bcdedit /enum {current} | find /i "winload.efi" && cls && echo. && echo. && (
- echo --------当前引导方式:UEFI
- ) || (
- echo --------当前引导方式:Legacy
- )
-
-
-
- @echo off
- setlocal ENABLEDELAYEDEXPANSION
-
- for /f "usebackq tokens=1,2 delims==" %%a in (` "wmic DISKDRIVE get Index,size /value"`) do (
- if "%%a" == "Index" (
- call set _Disk_List_=!_Disk_List_! %%b
- call set _Disk_ID_=%%b
- for /f "usebackq tokens=1,2 delims==" %%c in (` "wmic partition where DiskIndex=!_Disk_ID_! get Type /value"`) do (
- if "%%c" == "Type" (
- for /f "tokens=1 delims=:" %%e in ( "%%d" ) do (
- if "%%e" == "GPT" (set _Disk_!_Disk_ID_!_Type_=%%e) else (set _Disk_!_Disk_ID_!_Type_=MBR)
- )
- )
- )
- )
- if "%%a" == "Size" (
- call set _Disk_!_Disk_ID_!_Size_=%%b
- )
- )
-
- for %%a in (%_Disk_List_%) do (
- echo.
- echo -----磁盘 %%a
- echo 格式::!_Disk_%%a_Type_! 容量::!_Disk_%%a_Size_!
- echo.
- )
-
- echo.
- echo.
-
- pause >nul
复制代码
作者: ppll2030 时间: 2024-7-27 10:23
本帖最后由 ppll2030 于 2024-7-27 10:30 编辑
第29行--39行,这几个地方修改一下就可以了。
下面例子是经过换算的实际容量,想要硬盘上标称的容量,就把 !S:~0, -7!/1073 改为 !S:~0, -10! 即可。
if "%%a" == "Size" (
set "S=%%b"
call set /a _Disk_!_Disk_ID_!_Size_=!S:~0, -7!/1073
)
)
for %%a in (%_Disk_List_%) do (
echo.
echo -----磁盘 %%a
echo 格式::!_Disk_%%a_Type_! 容量::!_Disk_%%a_Size_!GB
echo.
)
作者: Five66 时间: 2024-7-27 12:09
1楼代码34-39行换成下面的- for %%a in (%_Disk_List_%) do (
-
- set _DiskSize=
- set ___size=!_Disk_%%a_Size_!
- set ___size=!___size:~0,-9!
- if defined ___size (
- if !___size! leq 1099 (
- set /a @@size=!___size!*931/1000+1
- set _DiskSize=!@@size!G
- ) else if !___size! gtr 1099 (
- set /a @@size=!___size!*931/1000+1
- set /a __ttt=!@@size! %% 1024
- set /a @@size=!@@size!/1024
- if __ttt == 0 (set _DiskSize=!@@size!T) else (set _DiskSize=!@@size!T !__ttt!G)
- )
- ) else (
- set /a @@size=!_Disk_%%a_Size_!/1024/1024
- set _DiskSize=!_DiskSize!M
- )
-
- echo.
- echo -----磁盘 %%a
- echo 格式::!_Disk_%%a_Type_! 容量:: !_DiskSize!
- echo.
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |