无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5643|回复: 23
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2023-6-29 22:13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 batche 于 2023-6-30 14:49 编辑

用wimc获取磁盘序列号,使用diskpart获取磁盘序ID
  1. @echo off
  2. %~1mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~s0",":",,"runas",1)(window.close)&&exit
  3. for /f "skip=1 tokens=2-3" %%a in ('wmic diskdrive get BytesPerSector^,Index^,SerialNumber') do (
  4. echo,磁盘%%a 序列号:%%b
  5. (echo,select disk %%a
  6. echo,detail disk
  7. ) | diskpart | find /i "ID:"
  8. )
  9. pause
复制代码
补充一下:Win7通过wimc获取到的序列号是每两个字节经过小端排序的hex字符串,需要转码,我写了一个适用于win7的转码脚本
  1. @echo off
  2. for /f "skip=1 tokens=2-3" %%a in ('wmic diskdrive get BytesPerSector^,Index^,SerialNumber') do (
  3.     echo,磁盘%%a 序列号:
  4.     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
  5. )
  6. pause
复制代码


2#
发表于 2023-6-29 23:04:33 | 只看该作者

谢谢分享
回复

使用道具 举报

3#
发表于 2023-6-29 23:35:13 来自手机 | 只看该作者
懂得越多,头发掉越快!
回复

使用道具 举报

4#
发表于 2023-6-29 23:42:03 | 只看该作者
这次没用python
回复

使用道具 举报

5#
发表于 2023-6-30 07:34:03 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 2023-6-30 09:57:40 | 只看该作者
不错。。。。
回复

使用道具 举报

7#
发表于 2023-6-30 12:07:11 | 只看该作者
谢谢分享。
回复

使用道具 举报

8#
发表于 2023-6-30 13:03:20 | 只看该作者
win7下wimc获取的硬盘序列号需要转码 很麻烦

点评

是的,请问有什么好方法吗?  详情 回复 发表于 2023-6-30 13:06
回复

使用道具 举报

9#
 楼主| 发表于 2023-6-30 13:06:59 | 只看该作者
土著007 发表于 2023-6-30 13:03
win7下wimc获取的硬盘序列号需要转码 很麻烦

是的,请问有什么好方法吗?
回复

使用道具 举报

10#
发表于 2023-6-30 14:38:23 | 只看该作者
我用物理方法,直接看硬盘
回复

使用道具 举报

11#
发表于 2023-6-30 15:28:52 | 只看该作者
使用万能的PECMD,

set DiskNo=0
for /f "delims=" %%i in ('call pecmd.exe "team part -devidx list disk %DiskNo%,v|mstr * v1,v2=<-1><-6>v|writ -,$,序列号:%%v1%% ID:%%v2%%"') do @echo %%i
pause
回复

使用道具 举报

12#
发表于 2023-7-2 09:16:20 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
发表于 2023-7-2 09:32:15 | 只看该作者
回复

使用道具 举报

14#
发表于 2023-7-2 09:48:20 | 只看该作者
谢谢分享。
回复

使用道具 举报

15#
发表于 2023-7-2 15:21:02 | 只看该作者
感谢楼主分享!
回复

使用道具 举报

16#
发表于 2023-7-10 22:39:07 | 只看该作者

谢谢分享
回复

使用道具 举报

17#
发表于 2023-7-10 22:49:29 | 只看该作者
谢谢分享
回复

使用道具 举报

18#
发表于 2023-7-11 11:01:45 | 只看该作者
感谢分享
回复

使用道具 举报

19#
发表于 2023-7-11 17:30:30 | 只看该作者
感谢分享
回复

使用道具 举报

20#
发表于 2023-7-17 22:48:17 | 只看该作者
以下是以前忘了哪里收藏的也是显示硬盘序列号的批处理

@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
回复

使用道具 举报

21#
发表于 2023-7-22 19:50:45 | 只看该作者
懂得越多,头发掉越快!
回复

使用道具 举报

22#
发表于 2023-7-30 16:17:28 | 只看该作者


谢谢分享
回复

使用道具 举报

23#
发表于 2023-8-8 10:19:57 | 只看该作者
谢谢分享
回复

使用道具 举报

24#
发表于 2023-8-8 11:26:14 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-22 16:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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