检查bat文件中的卷序列号

时间:2012-06-12 08:42:02

标签: batch-file serial-number

我正在编写批处理脚本以在闪存驱动器上运行。我需要在代码中验证闪存驱动器的卷序列号,因此没有人能够从其他位置运行它。

有谁知道如何在批处理文件中验证序列号?

示例:

IF %VOL%==ABCD GOTO A ELSE EXIT

2 个答案:

答案 0 :(得分:2)

虽然有几种不同的方法可以实现同样的目的,但用于管理卷和序列号的原始DOS / Windows命令 VOL

@echo off
for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
if %Serial% equ ABCD-EF01 do (
    echo Valid serial number!
)

答案 1 :(得分:1)

您可以使用WMIC并执行以下操作:

wmic logicaldisk where drivetype=3 get volumeserialnumber

请参阅上述链接中的参数类型。

编辑:

@echo off
for /F "skip=1 delims=" %%j in ("wmic logicaldisk where deviceid = 'C:' get volumeserialnumber") do (
  set SERIAL=%%j
  goto :DONE
)
:DONE
echo  SERIAL=%SERIAL%

if "%SERIAL%"=="BLAH" (
   echo "Bluh"
)