标题: [文件操作] [已解决]批处理获取硬盘序列号求解 [打印本页]
作者: testest 时间: 2020-3-17 12:54 标题: [已解决]批处理获取硬盘序列号求解
本帖最后由 testest 于 2020-5-13 21:37 编辑
网络上查了下,用bat获取硬盘序列号
1- wmic diskdrive get serialnumber
复制代码
此命令,无法在XP系统执行,且在win7执行结果是,和用AIDA64查的结果不一样,放弃
2- wmic path Win32_PhysicalMedia get SerialNumber
复制代码
此命令,可以在XP系统执行,也可以在win7执行结果是,和用AIDA64查的结果一样
现在,我想用bat只显示第二条的值,并且赋值给一个变量,各位达人这要怎么写
作者: wujunkai 时间: 2020-3-17 13:44
- @echo off
-
- call:get_ID
- echo %ID%
- goto:eof
-
- :get_ID
- for /F "skip=1" %%i in ('wmic path Win32_PhysicalMedia get SerialNumber') do (
- set ID=%%i
- goto:eof
- )
- goto:eof
复制代码
因为实际上它显示的是三行,而且bat好像禁用了break,所以只好使用 goto:eof 来中断。
当需要获取磁盘序列号的时候 call:get_ID ,返回值储存在 ID 中。
作者: testest 时间: 2020-3-17 15:14
不知道为啥我这边加入查询别的代码时,会闪退,我再想想
谢谢了!
作者: testest 时间: 2020-5-12 00:16
回复 2# wujunkai
又碰到问题了,这个方法只能得到第一块硬盘的序列号,多硬盘咋怎?
作者: wujunkai 时间: 2020-5-12 06:43
回复 4# testest
多硬盘的话,你那条查询语句的结果是什么?
我没有多硬盘,不知道具体情况
作者: went 时间: 2020-5-12 08:32
Disk_ID_序号
我是一块固态,一块机械- @echo off
- set "index=0"
- for /f "skip=1 delims=" %%a in ('wmic path Win32_PhysicalMedia get SerialNumber') do (
- set /a "index+=1"
- call set "Disk_ID_%%index%%=%%a"
- )
- set Disk_ID_
- pause&exit
复制代码
作者: xp3000 时间: 2020-5-12 08:48
感觉还是第三方工具grep容易筛选字符串
作者: Batcher 时间: 2020-5-12 09:42
回复 4# testest
找一台多块硬盘的电脑
打开一个CMD窗口
执行命令:
wmic path Win32_PhysicalMedia get SerialNumber /value
把结果发出来看一下
作者: testest 时间: 2020-5-12 11:02
回复 5# wujunkai
只能查询到第一块硬盘信息,如果没有多块硬盘,可以插U盘也可以测试
作者: testest 时间: 2020-5-12 11:09
回复 8# Batcher - C:\Users\Administrator>wmic path Win32_PhysicalMedia get SerialNumber /value
-
-
- SerialNumber= 6VMNV355
-
-
- SerialNumber=4C530000211222118175
-
-
- SerialNumber=
复制代码
老大也来了,其中4C530000211222118175为U盘的序列号
我再多说一个很奇怪的想象,今天在另外一台XP系统,执行上面的命令,显示的结果是复制代码
,没有看到任何信息,如果说是因为这个硬盘没有序列号,也不可能啊,我用AIDA64可以看到
作者: testest 时间: 2020-5-12 11:10
回复 6# went
这个都会多一条空白结果,可否去除呢
作者: went 时间: 2020-5-12 12:13
回复 11# testest
有的磁盘没有序列号
你要是不需要空白序列号,可以改成复制代码
作者: testest 时间: 2020-5-13 00:22
回复 12# went
如何直接把序列号的值赋给变量呢,即不要前面的Disk_ID_
作者: went 时间: 2020-5-13 10:12
回复 13# testest
已经赋给变量了
变量名Disk_ID_1,Disk_ID_2
取值用%Disk_ID_1%,%Disk_ID_2%
作者: testest 时间: 2020-5-13 21:37
很好,谢谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |