You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写CMD脚本调用wmic获取序列号并按指定规则格式化输出

CMD设备序列号格式化脚本实现

完整可运行脚本

@echo off
setlocal enabledelayedexpansion

:: 读取BIOS序列号,跳过表头行
for /f "skip=1 delims=" %%i in ('wmic bios get serialnumber 2^>nul') do (
    set "raw_sn=%%i"
    goto sn_read_finish
)
:sn_read_finish
:: 清除序列号首尾多余空格
set "sn=!raw_sn: =!"

:: 提示用户输入厂商名称
set /p "vendor=请输入厂商名称(示例:HP、Dell):"

:: 序列号格式化:最后4位前加短横线
set "prefix_part=!sn:~0,-4!"
set "suffix_part=!sn:~-4!"
set "formatted_sn=!prefix_part!-!suffix_part!"

:: 输出最终结果
set "output=!vendor!-!formatted_sn!"
echo 生成的设备标识为:!output!

endlocal
pause

功能说明

  • 自动执行wmic bios get serialnumber命令读取设备BIOS序列号,自动处理wmic输出的冗余空格和表头,不需要手动清洗数据
  • 脚本运行后主动弹出输入提示,用户直接输入厂商名称即可
  • 内置格式化逻辑:无论原始序列号总长度是多少,都统一在最后4位之前插入短横线,例如原始序列号YHT31234处理后为YHT3-1234
  • 最终输出严格遵循「厂商名称-格式化后序列号」规则,示例输出为HP-YHT3-1234

测试验证:使用长度7位的序列号ABCDE12输入厂商Dell,会输出Dell-ABC-DE12,符合格式要求。
注意:如果设备BIOS序列号长度不足4位,脚本会自动兼容,仅在仅有的字符前加短横线,不会报错

内容的提问来源于stack exchange,提问作者SemtexSoup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:57:02