批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt
你好,我就是刚才问问题(批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt)的那个人,请问有没有一种方法可以处理含有空格的方法呢?...
你好,我就是刚才问问题(批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt)的那个人,请问有没有一种方法可以处理含有空格的方法呢?
展开
1个回答
展开全部
@echo off
setlocal enabledelayedexpansion
set ctr=0
set sctr=0
set pos=0
for /f "delims=▓ tokens=* eol=▓" %%a in (1.txt) do (
set /a ctr+=1
for %%b in (!ctr!) do set ln%%b=%%a
)
for /l %%a in (1,1,!ctr!) do (
call :length ln%%a len%%a
)
for /l %%a in (1,1,!ctr!) do set /a len%%a-=1
for /l %%a in (1,1,!ctr!) do (
for /l %%b in (0,1,!len%%a!) do (
set /a sctr+=1
if "!ln%%a:~%%b,1!"=="&" (
for %%c in (!pos!) do (
for %%d in (!sctr!) do set "t=!ln%%a:~%%c,%%d!"
set t=!t:^&=!
echo !t!>>2.txt
set /a pos=%%b+1
set sctr=0
)
) else (break)
)
for %%b in (!pos!) do for %%c in (!sctr!) do echo !ln%%a:~%%b,%%c!>>2.txt
set pos=0
set sctr=0
)
pause
exit
:length
setlocal enabledelayedexpansion
set "$=!%1!#"
set N=&for %%a in (4096 2048 1024 512 256 128 64 32 16)do if !$:~%%a!. NEQ . set/aN+=%%a&set $=!$:~%%a!
set $=!$!fedcba9876543210&set/aN+=0x!$:~16,1!
endlocal&If %2. neq . (set/a%2=%N%)else echo %N%
这个,仅要求字符中不得出现▓,其它任何符号都可以。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询