我正在编写一个在闪存驱动器上运行的批处理脚本。我需要在代码中验证闪存驱动器的卷序列号,因此没有人应该能够从不同的位置运行它。
有谁知道如何验证批处理文件中的序列号?
例子:
IF %VOL%==ABCD GOTO A ELSE EXIT
我正在编写一个在闪存驱动器上运行的批处理脚本。我需要在代码中验证闪存驱动器的卷序列号,因此没有人应该能够从不同的位置运行它。
有谁知道如何验证批处理文件中的序列号?
例子:
IF %VOL%==ABCD GOTO A ELSE EXIT
尽管有几种不同的方法可以实现相同的目的,但用于管理卷和序列号的原始 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!
)
您可能可以使用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"
)