标题: [文本处理] 【已解决】批处理怎样读取文本文件第一行并将其插入到文本末尾? [打印本页]
作者: 牛虻 时间: 2014-9-3 09:01 标题: 【已解决】批处理怎样读取文本文件第一行并将其插入到文本末尾?
本帖最后由 pcl_test 于 2016-7-8 18:46 编辑
读取文本文件第一行后将其放到最后一行
例如:a.txt
1111111111
2222222222
3333333333
4444444444
执行批处理后
2222222222
3333333333
4444444444
1111111111
作者: apang 时间: 2014-9-3 18:46
- @echo off
- set /p one=<a.txt
- (more +1 a.txt & echo,%one%)>b.txt
复制代码
- @echo off
- (
- for /f "delims=" %%a in (a.txt) do (
- if defined one (echo,%%a) else set "one=%%a"
- )
- echo,%one%
- )>b.txt
复制代码
作者: 牛虻 时间: 2014-9-4 13:00
没执行一次脚本循环一次
循环第二次结果是:
33333333
44444444
55555555
11111111
22222222
以此类推
作者: DAIC 时间: 2014-9-4 13:07
回复 3# 牛虻
2楼的代码就能实现这个功能吧。跟你的需求不一样么?
作者: 牛虻 时间: 2014-9-4 16:02
本帖最后由 牛虻 于 2014-9-4 16:05 编辑
2楼的两个代码都能实现吗?
我运行了一下第一次可以,以后再运行没反应了
作者: 牛虻 时间: 2014-9-4 16:26
好了,明白了,谢谢!
作者: apang 时间: 2014-9-4 18:27
2楼第二个代码忘记开启变量延迟扩展了,如果希望“没执行一次脚本循环一次”,move一下就可以了- @echo off
- (
- for /f "delims=" %%a in (a.txt) do (
- if defined one (echo,%%a) else set "one=%%a"
- )
- setlocal enabledelayedexpansion
- echo,!one!
- )>b.txt
- move b.txt a.txt
复制代码
作者: 牛虻 时间: 2014-9-5 10:09
本帖最后由 牛虻 于 2014-9-5 10:49 编辑
回复 7# apang - for /f "delims=" %%a in (a.txt) do (
- if defined one (echo,%%a) else set "one=%%a"
- )
复制代码
a的值不应该是文本的最后一行吗?
作者: apang 时间: 2014-9-5 13:27
本帖最后由 apang 于 2014-9-5 19:53 编辑
回复 8# 牛虻
不明白你在说什么
都是人类,何必说鸟语?“没执行一次”、“a的值”
作者: 牛虻 时间: 2014-9-9 11:27
不用明白,反正我明白了。还是谢谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |