0

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

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

例子:

IF %VOL%==ABCD GOTO A ELSE EXIT
4

2 回答 2

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!
)
于 2012-06-13T02:56:56.057 回答
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"
)
于 2012-06-12T08:49:54.960 回答