[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]求助: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
变成这样子的,然后文件名不变。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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
复制代码
1

评分人数

TOP

请教!怎么把这个代码改成复制30行 复制添加到最后一行
谢谢~!

TOP

  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
复制代码
试试?

TOP

回复 4# taofan712


   试了!只能复制第一行 没实现复制30行数据!

TOP

回复 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"
复制代码
1

评分人数

    • xxrs: 感谢给帖子标题标注[已解决]字样乐于助人! ...技术 + 1

TOP

返回列表