找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 57|回复: 1

批处理获取磁盘序列号和ID

[复制链接]

24

主题

31

回帖

402

积分

上校

附加身份标识
精华
0
热心
0
听众
0
威望
7
贡献
210
违规
0
书币
1709
注册时间
2022-5-26
发表于 2023-7-22 19:49 | 显示全部楼层 |阅读模式
用wimc获取磁盘序列号,使用diskpart获取磁盘序ID
[PowerShell] 纯文本查看 复制代码
@echo off

%~1mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~s0",":",,"runas",1)(window.close)&&exit

for /f "skip=1 tokens=2-3" %%a in ('wmic diskdrive get BytesPerSector^,Index^,SerialNumber') do (

echo,磁盘%%a 序列号:%%b

(echo,select disk %%a

echo,detail disk

) | diskpart | find /i "ID:"

)

pause


补充一下:Win7通过wimc获取到的序列号是每两个字节经过小端排序的hex字符串,需要转码,我写了一个适用于win7的转码脚本

[Bash shell] 纯文本查看 复制代码
@echo off

for /f "skip=1 tokens=2-3" %%a in ('wmic diskdrive get BytesPerSector^,Index^,SerialNumber') do (

    echo,磁盘%%a 序列号:

    powershell -c "$hexBytes=[regex]::Matches(\"%%b\",\".{4}\");$reversedHexBytes=foreach($hexByte in $hexBytes){$swappedByte=$hexByte.Value.Substring(2,2)+$hexByte.Value.Substring(0,2);$swappedByte -split '(..)'|?{$_}|%%{[System.Convert]::ToInt16($_,16)}};$filteredHexBytes=$reversedHexBytes|?{$_ -ne 32};$result=[System.Text.Encoding]::Default.GetString($filteredHexBytes);$result" 2>nul

)

pause



24

主题

31

回帖

402

积分

上校

附加身份标识
精华
0
热心
0
听众
0
威望
7
贡献
210
违规
0
书币
1709
注册时间
2022-5-26
 楼主| 发表于 2023-7-22 19:51 | 显示全部楼层
以下是以前忘了哪里收藏的也是显示硬盘序列号的批处理

[Bash shell] 纯文本查看 复制代码
@echo off
cls
color 2f
echo.
echo.
echo.
:start
SetLocal EnableDelayedExpansion
call :SetAscVar
::获取硬盘序列号(16进制)。可能有多块硬盘,显示中字母行“SerialNumber”,还有2行空行,需要先处理。
for /f %%x in ('"wmic diskdrive get serialnumber|find " "|find /v /i "SerialNumber""')do (
        if not "%%x"=="" (
                set/adn+=1
                echo 硬盘!dn!:
                call :Ascii4Sn ASN %%x
                echo 16进制序列号:%%x
                echo  硬盘序列号:!ASN!
                echo\
        )
)
pause >NUL 2>NUL&goto:start
call :Ascii4Sn ASN %sn%
echo 16进制序列号:%sn%
echo  硬盘序列号:%ASN%
pause
goto :eof
::函数
:SetAscVar        //定义数字和字母的ASCII变量,需要先调用
set Num=0123456789
set Abc=ABCDEFGHIJKLMNOPQRSTUVWXYZ
set Hex=%Num%%Abc:~,6%
for /l %%i in (0 1 9)do set _0x3%%i=%%i
for /l %%i in (0 1 26)do call :AbcAsc %%i
goto :eof
:AbcAsc <offset>        //定义26个字母对应的ASCII变量
set/a Asc=0x41+%1,h=Asc/16,e=Asc%%16
set _0x!Hex:~%h%,1!!Hex:~%e%,1!=!Abc:~%1,1!
set/a as1=0x61+%1,h=as1/16,e=as1%%16
set _0x!Hex:~%h%,1!!Hex:~%e%,1!=!Abc:~%1,1!
goto :eof

:Ascii4Sn <str_var> <hexs>        //回传变量,长串16进制数
set hsn=%2
set ns=
set as=
:ASloop
set ns=%ns%%hsn:~2,2%%hsn:~,2%
set as=%as%!_0x%hsn:~2,2%!!_0x%hsn:~,2%!
set hsn=%hsn:~4%
if not "%hsn%"=="" goto :ASloop
set %1=%as%
goto :eof
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-4-29 04:28 , Processed in 0.039473 second(s), 26 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表