Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何按数字拆分字符串_Batch File - Fatal编程技术网

Batch file 如何按数字拆分字符串

Batch file 如何按数字拆分字符串,batch-file,Batch File,如何在win-bat脚本中将字符串拆分为varibale AA.BB.CC.S01E01.CC.DD.AA.DD从开始到S01E01 我需要:AA.BB.CC.S01E01 set str=AA.BB.CC.S01E01.CC.DD.AA.DD set str=%str:.*S[0-9]*E[0-9]*.=&rem;% echo %str% 输出与此代码相同,输入与此代码相同 AA.BB.CC.S01E01.CC.DD.AA.DD我假设您能够知道初始字符串值与预期格式匹配 for /f

如何在win-bat脚本中将字符串拆分为varibale

AA.BB.CC.S01E01.CC.DD.AA.DD从开始到S01E01

我需要:AA.BB.CC.S01E01

set str=AA.BB.CC.S01E01.CC.DD.AA.DD
set str=%str:.*S[0-9]*E[0-9]*.=&rem;%
echo %str%
输出与此代码相同,输入与此代码相同


AA.BB.CC.S01E01.CC.DD.AA.DD

我假设您能够知道初始字符串值与预期格式匹配

for /f "tokens=1-4 delims=." %%A in ("%str%") do set "str=%%A.%%B.%%C.%%D"

对不起,批处理中没有正则表达式(除了
findstr
,它是正则表达式的一个非常残缺的子集),您对findstr有什么想法吗?findstr总是输出整行,而不仅仅是一行中表达式匹配的字符串。
S01E01
是否始终是第四个点分隔的子字符串,并且元素之间始终只使用一个
?是的,然后您可以使用例如
for/F令牌^=1-4^delims^=.^eol^=%%I in(“%str%”)。是否设置“str=%%I.%%J.%%K.%%L”
。批处理是必需的?也许最好还是考虑POWELSER或VBScript。