我需要使用批处理脚本提取su11b_
和.agm
之间的数字。
在下面的示例中,结果应为733
。
su11b_
始终相同,此处的数字永远不会改变733
可以改变,范围从1 - 永恒(因此长度可变)这是我尝试过的(它根本不起作用):
set "str=d:\agrcc\agrtest\server logging\su11b_733.agm"
set /A "number=str"
我想也许正则表达式可以提取su11b_
和.agm
之间的数字,但我不知道如何在批处理脚本中执行此操作?
答案 0 :(得分:2)
如果您确定数字始终位于su11b_
和.agm
之间,那么您实际上不需要正则表达式。您可以删除su11b_
之前的所有内容,然后删除.agm
部分:
set "var=d:\agrcc\agrtest\server logging\su11b_733.agm"
set number=%var:*su11b_=%
set number=%number:.agm=%
echo %number%
This link有更多关于替换批量变量中的子串的信息