我有一个REG_SZ类型的注册表项。我想确定注册表是否具有数值
for /f "tokens=1,2,3 delims== " %%x in ('regdmp HKLM\Software\MyRegistry ^| Find "v1"') do set myValue=%%y
SET "var1="&for /f "delims=0123456789" %%c in ("%myValue%") do set var1=%%c
if defined var1 echo "Not Numeric" else "Numeric"
如果V1具有英文字符和数字,则此代码有效。如果V1具有Unicode字符,它就无法工作。
答案 0 :(得分:0)
我建议做一些小改动。
这是一个带有这些调整的版本。
@echo off
setlocal
for /f "tokens=1,2,3 skip=2" %%x in ('reg query HKLM\Software\MyRegistry /v v1') do set myValue=%%z
set /a var1=myValue*1
if x%var1% equ x%myValue% (
echo "Numeric"
) else (
echo "Not Numeric"
)