Win批处理编程之美比对一个16进制的数据是否符合预先设置好的格式

比如,我需要这个16进制的数据是00AABB开头的,并且这个数据为12位,如果符合要求就继续下面的命令,不符合就提示错误。... 比如,我需要这个16进制的数据是00AABB开头的,并且这个数据为12位,如果符合要求就继续下面的命令,不符合就提示错误。 展开
 我来答
albumin
2016-12-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2411万
展开全部
@echo off
set /p "hex=请输入一个十六进制数"
if /i not "%hex:~0,6"=="00AABB" ( echo "十六进制数开头错误"
pause
exit )
if  "%hex:~12,1"=="" ( echo "错误,数据不够12位"
pause
exit )
if not "%hex:~13,1"=="" (echo "错误,数据超过12位"
pause
exit )
追问

"%hex:~0,6"  运行的时候这段代码并没有截取前六位。好像有点问题

追答
@echo off
set /p "hex=请输入一个十六进制数"
if /i not "%hex:~0,6%"=="00AABB" ( echo "十六进制数开头错误"
pause
exit )
if  "%hex:~12,1%"=="" ( echo "错误,数据不够12位"
pause
exit )
if not "%hex:~13,1%"=="" (echo "错误,数据超过12位"
pause
exit )
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式