我有一个内容类似的文本文件:
test.txt
:FIPS job <1532602344643_1> of size <134> successfully created. <134> files successfully exported. <0> files failed.
我想将前两个尖括号之间的字符串存储在一个变量中。在这个例子中,它是1532602344643_1
. 字符串应该具有相同的长度,但在所有其他括号中,长度可能会改变。
我是新手,所以有人可以帮助我吗?
这是执行您需要的批处理文件:
@echo off
set TEXT_FILE=text.txt
setlocal enabledelayedexpansion
set modules=
for /f "tokens=*" %%i in (%TEXT_FILE%) do (
set "tmp=%%~i"
set modulesFromLine=
call :getNext modulesFromLine "!tmp!"
if "-!modules!"=="-" (
set modules=!modulesFromLine!
) else (
set modules=!modules!,!modulesFromLine!
)
)
endlocal & set REZULT=%modules%&
echo. %REZULT%
exit /b 0
:getNext
setlocal
set accumulator=
set "tmp=%~2"
set "tmp=!tmp:*<=!"
set "tail=>!tmp:*>=!"
call set "module_name=%%tmp:!tail!=%%"
if not "-!module_name!"=="-" (
call :getNext %1 "!tail!"
if "-!%1!"=="-" (
set "accumulator=!module_name!"
) else (
set "accumulator=!module_name!,!%1!"
)
)
endlocal & set %1=%accumulator%&
exit /b 0
将您的文件放入TEXT_FILE
并获取RESULT
. 请记住,字符串不应包含"
.
如果你想阅读一些关于批处理wiki 的内容,这是一个很好的开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句