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

[文本处理] 【已解決】求助批處理TXT文件,每隔固定行插入一行內容

本帖最后由 legend_bat 于 2015-7-16 14:31 编辑

如題,文件夾下有N個TXT文件,每個TXT文件內有70行,要求對文件夾下所有TXT進行同時處理,每隔20行插入一行,大神們來指導下啊!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
化繁為簡,萬變其中!

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b *.txt') do (
  4.     set line=0
  5.     (for /f "eol= delims=" %%i in (%%~sa) do (
  6.         set /a line+=1
  7.         echo %%i
  8.         if !line! equ 20 (
  9.             set line=0
  10.             echo 插入内容
  11.         )
  12.     ))>$
  13.     move /y $ "%%~a"
  14. )
复制代码

TOP

回复 2# bailong360
非常完美,非常感謝!
化繁為簡,萬變其中!

TOP

回复 2# bailong360
再麻煩下哈,如果我想隔10行插入一行,隔7行再插入一行,再隔8行插入一行,共插入三行,也就是說隔的行數不固定,插入三行內容,這樣能不能實現,求指導,非常感謝!
化繁為簡,萬變其中!

TOP

本帖最后由 bailong360 于 2015-7-16 17:19 编辑

回复 4# legend_bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b *.txt') do (
  4.     set line=0
  5.     (for /f "eol= delims=" %%i in (%%~sa) do (
  6.         set /a line+=1
  7.         echo %%i
  8.         if !line! equ 10 echo 插入内容
  9.         if !line! equ 8 echo 插入内容
  10.         if !line! equ 7 echo 插入内容
  11.     ))>$
  12.     move /y $ "%%~a"
  13. )
复制代码
1

评分人数

TOP

回复 5# bailong360
這樣會一下子插入很多行,我想只插入三行.。。。第十行之後插入,再隔7行插入,再隔8行再插入。。。大概這意思,不循環插入
化繁為簡,萬變其中!

TOP

回复 6# legend_bat
已修改

TOP

回复 7# bailong360
昨天我也在你這代碼基礎上修改出來了,非常感謝,多謝指導!
化繁為簡,萬變其中!

TOP

返回列表