Board logo

标题: [文本处理] 【已解决】bat 批量移动txt第一段到最后? [打印本页]

作者: ruoru376    时间: 2015-2-12 13:03     标题: 【已解决】bat 批量移动txt第一段到最后?

本帖最后由 ruoru376 于 2015-2-12 15:53 编辑

bat 批量移动txt第一段到最后?
标志都是回车的。
例如:
处理前:
第一段第一段第一段
第二段第二段第二段
第三段第三段第三段
………………
最后段最后段最后段
————————
处理后:
第二段第二段第二段
第三段第三段第三段
………………
最后段最后段最后段
第一段第一段第一段
————————————————
哪位大侠帮忙下!谢谢了…………
作者: DAIC    时间: 2015-2-12 13:15

  1. @echo off
  2. set /p first=<1.txt
  3. more +1 1.txt > 2.txt
  4. >> 2.txt echo,%first%
复制代码

作者: ruoru376    时间: 2015-2-12 13:28

回复 2# DAIC

非常感谢,但是。这个不是批量吧。(这能处理一个文件)。我需要处理很多文件的…… 对bat不大懂,能否帮忙完善下。
作者: DAIC    时间: 2015-2-12 13:40

回复 3# ruoru376
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  3.     set /p first=<"%%i"
  4.     more +1 "%%i" > "%%i.new"
  5.     >> "%%i.new" echo,%first%
  6.     move /y "%%i.new" "%%i"
  7. )
复制代码

作者: ruoru376    时间: 2015-2-12 13:48

回复 4# DAIC
这个运行效果是,删除第一段。而不是移动
作者: DAIC    时间: 2015-2-12 14:05

回复 5# ruoru376


    我这边测试的时候没有发现问题,能把你的测试用例和测试结果发出来看看吗
作者: ruoru376    时间: 2015-2-12 14:17

回复 6# DAIC
处理前后对比如下图
作者: caruko    时间: 2015-2-12 14:57

回复 4# DAIC


   你忘记开变量延迟了..
作者: DAIC    时间: 2015-2-12 15:00

回复 7# ruoru376
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     set /p first=<"%%i"
  5.     more +1 "%%i" > "%%i.new"
  6.     >> "%%i.new" echo,!first%!
  7.     move /y "%%i.new" "%%i"
  8. )
复制代码

作者: ruoru376    时间: 2015-2-12 15:19

回复 9# DAIC
很好,谢谢!!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2