我正在编写批处理脚本以在闪存驱动器上运行。我需要在代码中验证闪存驱动器的卷序列号,因此没有人能够从其他位置运行它。
有谁知道如何在批处理文件中验证序列号?
示例:
IF %VOL%==ABCD GOTO A ELSE EXIT
答案 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"
)