bat批处理提取文本内容并调换前后顺序

例如文本文件a.txt里内容如下:
ABC 张三 2
ABCD 王麻子 1
A-C 李四 2
.......
需要提取到另外一个b.txt文件中,
格式如下:
张三 ABC 2
王麻子 ABCD 1
李四 AB 2

不用写批处理,直接在cmd下执行下面的命令就行了

@if exist b.txt @del b.txt

for /f "tokens=1,2,3* delims= " %i in (a.txt) do @echo %j %i %k>>b.txt

上面那句是检查b.txt是否在命令执行前存在,如果存在就删掉,防止写重了。

这是执行结果,我试过了。

温馨提示:内容为网友见解,仅供参考
无其他回答

...bat命令,将文本文档中特定行的内容替换成按照顺序编号的内容,感谢...
echo off & title 替换特定行内容为编号 By 依梦琴瑶cd \/d %~dp0set file=测试文本.txt(for \/f "delims=" %%a in ('type "%file%"') do ( echo "%%~a" | findstr \/bi """>.*" >nul && ( set \/a Num+=1 call :eNum "%%Num%%" ) || echo %%~a))>New...

求:bat批处理代码, txt文本中的内容排列和替换
echo off&setlocal enabledelayedexpansion set n=0 for \/f "tokens=1,2 delims= " %%i in (sh.txt) do (set "ip_!n!=%%i"set \/a n=!n!+1 set "ip_!n!=%%j"set \/a n=!n!+1 )cd.>ok.txt for \/f "tokens=2 delims==" %%i in ('set ip_') do (set "temp=%%i"for...

bat批处理怎么取文本含有指定内容的下一行到空白行之间的内容?
echo off&setlocal enabledelayedexpansion(for \/f "tokens=*" %%c in ('findstr \/n .* 文本内容.txt') do (set "text=%%c"if "!flag!"=="1" if not ""=="!text:~2,1!" echo !text:~2!if "!text:~2,3!"=="硬盘1" set flag=1if "!flag!"=="1" if "!text:~2,1!

bat批处理提取文本内容并调换前后顺序
不用写批处理,直接在cmd下执行下面的命令就行了 if exist b.txt @del b.txt for \/f "tokens=1,2,3* delims= " %i in (a.txt) do @echo %j %i %k>>b.txt 上面那句是检查b.txt是否在命令执行前存在,如果存在就删掉,防止写重了。这是执行结果,我试过了。

高分求高手学习批处理提取文本内容指定字符前或后的所有内容?
大体上看了一下你的要求:bat 字符处理大部分都是有针对性的。bat 处理某些特殊字符,很麻烦的。例如(! =)这个可以用for命令,用c和=作为分隔符,进行处理。 或者用findstr进行判断 (换你是楼上了)你回答的是哪个问题啊?不用我这么麻烦。

bat文件如何逐行读取文件内容并修改
首先鼠标右键单击电脑桌面,选择新建一个文本文档。新建文件。声明要打开的文件变量。创建要打开的文件及内容并保存。以只读方式打开文件并赋予变量。读取文件的前三个字节并输出。读取文件的所有内容并输出。预览效果如图。只用批处理。如果a.ini中含有不是这种格式“aa=1111”的行,就复杂一些,甚至出错,...

使用批处理提取文件名,为什么提取出来的名称顺序乱了?哪位高手可否帮忙...
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 <# :cls echo off rem 按照资源管理器里的顺序输出文件名称 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$%\/%@% %z cd \/d "%~dp0"powershell -NoProfile -...

bat 批处理 每行的字符串更换先后顺序
echo offsetlocal enabledelayedexpansion(for \/f %%i in (a.txt) do ( set a=%%i echo !a:~4,2!!a:~2,2!!a:~0,2!))>b.txt

bat提取指定字符所在行以及所在行前1行与后2行的内容输出到另外一个文件...
%%i in (a.txt) do ( set \/a m+=1 if !m! geq !var! ( if !m! leq !var1! echo %%i>>2.txt )))pause请把内容保存在a.txt中,生成的新的文件在2.txt中。请将此批处理文件和a.txt放在同一个目录下运行。有疑问,请追问。如果对你有帮助,请采纳!谢谢!

批处理怎么提取整个文本里的每一行的后三位?
新建一个文本,复制以下内容,并将文件扩展名改为.bat echo off&setlocal EnableDelayedExpansion for \/f "delims=" %%I in ('type "0.txt"') do (set "A=%%I"set b=!A:~-3!echo,!b!>> )move $ new.txt pause 文本文件名字设为0.txt,将.bat文件和你需要处理的文本文件放到同一个...

相似回答