批处理修改文本文件字符的问题
是这样,有一个data.TXT文件,内容大概是这个样子的0001YLMMFSDFSDFSDFSDFSDFSDFSDFSDJ0002NSDFDSFSFSDFSDFSDFSD...
是这样,有一个data.TXT文件,内容大概是这个样子的
0001 YLM M FSDFSDFSDFSDFSDFSDFSDFSDJ
0002 NSDFDSFS F SDFSDFSDFSDFSDFSDFSDFSDFS
0003 YSD F FGHGFJGHJKGHJGJGHJGHJGHJH
每一行的内容都一样,4列,中间用空格分开(第二列的长度不一定一致),现在想要达到这样的结果,就是重新生成一个new.txt文件他的内容格式是这样
YLM=FSDFS-DFSDF-SDFSD-FSDFS-DFSDJ
NSDFDSFS=SDFSD-FSDFS-DFSDF-SDFSD-FSDFS
YSD=FGHGF-JGHJK-GHJGJ-GHJGH-JGHJH
这种的,就是取出源文件的第二列,加上等号后面是第四列,每隔五个字符加个分隔符
麻烦问下各位大神,这个批处理要怎样写,我研究了一个for循环的,但是始终只能部分处理成功 展开
0001 YLM M FSDFSDFSDFSDFSDFSDFSDFSDJ
0002 NSDFDSFS F SDFSDFSDFSDFSDFSDFSDFSDFS
0003 YSD F FGHGFJGHJKGHJGJGHJGHJGHJH
每一行的内容都一样,4列,中间用空格分开(第二列的长度不一定一致),现在想要达到这样的结果,就是重新生成一个new.txt文件他的内容格式是这样
YLM=FSDFS-DFSDF-SDFSD-FSDFS-DFSDJ
NSDFDSFS=SDFSD-FSDFS-DFSDF-SDFSD-FSDFS
YSD=FGHGF-JGHJK-GHJGJ-GHJGH-JGHJH
这种的,就是取出源文件的第二列,加上等号后面是第四列,每隔五个字符加个分隔符
麻烦问下各位大神,这个批处理要怎样写,我研究了一个for循环的,但是始终只能部分处理成功 展开
1个回答
展开全部
@echo off
(for /f "tokens=1-4" %%a in (data.txt) do (
call :splitline "%%~b" "%%~d"
)) > new.txt
goto :eof
:splitline
set "b=%~1"
set "line=%~2"
set d=
:loop
if "%line%"=="" echo %b%=%d:~1% & goto :eof
set "d=%d%-%line:~0,5%"
set "line=%line:~5%"
goto :loop
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询