在批处理中如何实现对一个字符串的提取

比如一个文本中中这样的字符串
11111;222222222222
3333
44444;55;66666
如何实现操作完成我为
11111
222222222222
3333
44444
55
66666

对于标题问题,一般需要视详细情况分别处理,但一般需要用到for命令,用法比较复杂,而且要求一定的综合处理能力,可以到网上搜搜教程,我也写了两篇文章可以到我空间看看
对于所提文本要求处理的情况,假定一行最多会分作几行的数目不定:
@echo off>b.txt
for /f "delims=" %%i in (a.txt)do set h=%%i&call :x
start notepad b.txt&exit
:x
set h=%h:;=;%
call :y %h%
:y
if "%~1"=="" goto :eof
echo.%~1>>b.txt
shift&goto y
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-20
@echo off
Setlocal EnableDelayedExpansion

:run
for /f "delims=" %%a in (test.txt) do (
set str=%%a
set str=!str:;= !
call :str
)

pause
exit

:str
if not defined str goto :eof
for /f "tokens=1* delims= " %%a in ("%str%") do (
echo.%%a
set str=%%b
goto :str
)
相似回答