加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows批量检查变量是否以,以…结尾并包含特定字符串

发布时间:2020-12-13 20:34:59 所属栏目:Windows 来源:网络整理
导读:我正在尝试检查批处理文件中的变量是否以“包含BETA在某处并以”结尾“开头. 可能吗? 如果是的话,有人可以帮助我吗? @ECHO OFFSETLOCALSET var=abcCALL :checkSET var="abc"CALL :llcheckSET var="")CALL :checkSET var=")"CALL :llcheckSET var=abc")"CAL
我正在尝试检查批处理文件中的变量是否以“包含BETA在某处并以”结尾“开头.

可能吗?
如果是的话,有人可以帮助我吗?

@ECHO OFF
SETLOCAL
SET var=abc&CALL :check
SET var="abc"&CALL :llcheck
SET var="")&CALL :check
SET var=")"&CALL :llcheck
SET var=abc")"&CALL :llcheck
SET var=xyzbetazyx&CALL :check
SET var="xyzbetazyx"&CALL :llcheck
SET var=xyzbetazyx")"&CALL :llcheck
SET var=xyzbetazyx")"&CALL :check
SET var="xyzbetazyx")&CALL :check
GOTO :eof
:: Lop last,then check
:llcheck
SET var=%var:~0,-1%
:check
SET result=N
SET var2=%var%
SET varvar=%var%

>test1.txt ECHO %var:~0,1%%var:~-2%
>test2.txt ECHO "")
FC test1.txt test2.txt >nul
IF ERRORLEVEL 1 GOTO done
SET var|FINDSTR /b "var="|FINDSTR /i "beta" >nul
IF ERRORLEVEL 1 GOTO done
SET result=Y
:done
ECHO %var% starts " has BETA and ends ") : %result% 
GOTO :eof

哪里有遗嘱……

设置不平衡的变量“可能很棘手.我只是设置它平衡并砍掉最后一个字符(:llcheck条目:lop last并检查.

Essentiall,我已经将变量复制到var2和varvar in oder中来演示如果设置这些变量名会发生什么.

然后生成两个文件. TEST1.TXT包含var的第一个和最后两个字符,而TEST2.TXT只是“”)

比较两者 – 如果它们不相同,那么变量不会启动“并结束”)否则很好 – 可以简单地将var写入文件并使用findstr来查找beta,但我决定发送SET的输出var应该是表单中所有var *变量的内容

var=abc
var2=abc
varvar=abc

到findstr,找到一个开始(/ b)var =并查找是否包含字符串beta / i选择不区分大小写.如果您想在UPPER-CASE中专门使用BETA,只需将beta更改为BETA并删除/ i.

结果设置为Y或N.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读