Board logo

标题: [文本处理] [已解决]求助:bat批量将目录下所有文本的第一行复制添加到最后一行 [打印本页]

作者: blueskyczg    时间: 2015-4-16 11:11     标题: [已解决]求助:bat批量将目录下所有文本的第一行复制添加到最后一行

本帖最后由 blueskyczg 于 2015-4-17 08:23 编辑

如题,一个目录下有很多这样的txt,需要把
1,490254.077,3406396.155
2,39490190.453,3406354.166
3,39490218.984,3406354.528
4,39490254.077,3406396.155
5,490263.399,3406395.618
这样内容的第一行复制添加到最后一行
1,490254.077,3406396.155
2,49090.453,3406354.166
3,390218.984,3406354.528
4,3949054.077,3406396.155
5,3949263.399,3406395.618
1,490254.077,3406396.155
变成这样子的,然后文件名不变。
作者: pcl_test    时间: 2015-4-16 11:35

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3. set /p first=<"%%a"
  4. >>"%%a" echo,!first!
  5. )
  6. echo 完成!2秒关闭
  7. ping 0 -n 3 >nul
复制代码

作者: xxrs    时间: 2017-3-13 21:42

请教!怎么把这个代码改成复制30行 复制添加到最后一行
谢谢~!
作者: taofan712    时间: 2017-3-13 22:20

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "skip=29 delims=" %%a in ('dir /b *.txt') do (
  3. set /p thirty=<"%%a"
  4. >>"%%a" echo,!thirty!
  5. )
  6. echo 完成!2秒关闭
  7. ping 0 -n 3 >nul
复制代码
试试?
作者: xxrs    时间: 2017-3-13 22:29

回复 4# taofan712


   试了!只能复制第一行 没实现复制30行数据!
作者: pcl_test    时间: 2017-3-13 23:07

回复 3# xxrs
  1. @echo off
  2. 2>nul md result
  3. for /f "delims=" %%a in ('dir /b *.txt') do call :loop "%%a"
  4. pause&exit
  5. :loop
  6. setlocal enabledelayedexpansion
  7. (type %1
  8. for /f "tokens=1* delims=:" %%i in ('findstr /n .* %1') do (
  9.     set /a n+=1
  10.     echo;%%j
  11.     if !n! equ 30 goto :eof
  12. ))>"result\%~1"
复制代码





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