批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt

你好,我就是刚才问问题(批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt)的那个人,请问有没有一种方法可以处理含有空格的方法呢?... 你好,我就是刚才问问题(批处理读取1.txt内容,遇到&加一个换行符,保存到2.txt)的那个人,请问有没有一种方法可以处理含有空格的方法呢? 展开
 我来答
12d1a2235w652d
2015-08-18 · TA获得超过385个赞
知道小有建树答主
回答量:391
采纳率:80%
帮助的人:328万
展开全部
@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%

这个,仅要求字符中不得出现▓,其它任何符号都可以。

来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式