Batch file 检查注册表是否有数值
我有一个REG_SZ类型的注册表项。我想确定注册表是否有数值Batch file 检查注册表是否有数值,batch-file,unicode,registry,Batch File,Unicode,Registry,我有一个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 Numer
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字符,它就不起作用。我建议做一些小改动
@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"
)
谢谢。。工作原理:-)太好了!请记住接受这个答案来结束这个问题。