当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 把下一行的数字复制到前面一行的后面,并用空格分开的批处理

DOS/BAT
为cmd设置密码的批处理
把下一行的数字复制到前面一行的后面,并用空格分开的批处理
批处理 保留空行替换字符串
批处理 文件归类整理器
批处理 文件归类整理器(当面目录)
批处理 删除重复行的代码
批处理 字符串去空格实现代码[不同部位]
去掉字符串头所有的0的批处理
反序列出文本的每行内容的批处理
反序显示输入内容批处理
把多行文本拼接成用;连接的一行的批处理
把某个目录下所有txt中第三行第四个数字相加
把首行和尾行互换的批处理
拼接相临的奇偶行文本内容
把两个文件中的不同之处提取到某个文件中去
显示只有指定个数字符的行
显示某两个字符及之间的字符
显示随机的5个数
查找偶数行内容的批处理
查找行中的第一个数据串

DOS/BAT 中的 把下一行的数字复制到前面一行的后面,并用空格分开的批处理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 106 ::
收藏到网摘: n/a

我想把一文本,其内容为这样的形式:
25
69
89
99
120
处理成以下的形式:
25 69
69 89
89 99
99 120
也就是说把下一行的数字复制到前面一行的后面,并用空格分开.不知dos能不能做到?还请高手指教!!

复制代码 代码如下:

@echo off
:: 把下一行的数字复制到前面一行的后面,并用空格分开
setlocal enabledelayedexpansion
for /f %%i in (test.txt) do (
set /a count+=1
set first=!second!
set second=%%i
if !count! gtr 1 echo !first! !second!
)
pause

总体思路是:提取每行的数字,赋予变量second,同时,用变量first接收变量second在上一次取到的值,这样,second取到的是当前行的数字,而first取到的是上一行的内容。至于用if来判断count的值是否是1,是因为当count为1的时候,first尚未取到值。