Board logo

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

作者: legend_bat    时间: 2015-7-16 13:45     标题: 【已解決】求助批處理TXT文件,每隔固定行插入一行內容

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

如題,文件夾下有N個TXT文件,每個TXT文件內有70行,要求對文件夾下所有TXT進行同時處理,每隔20行插入一行,大神們來指導下啊!
作者: bailong360    时间: 2015-7-16 14:00

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

作者: legend_bat    时间: 2015-7-16 14:17

回复 2# bailong360
非常完美,非常感謝!
作者: legend_bat    时间: 2015-7-16 15:46

回复 2# bailong360
再麻煩下哈,如果我想隔10行插入一行,隔7行再插入一行,再隔8行插入一行,共插入三行,也就是說隔的行數不固定,插入三行內容,這樣能不能實現,求指導,非常感謝!
作者: bailong360    时间: 2015-7-16 15:50

本帖最后由 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. )
复制代码

作者: legend_bat    时间: 2015-7-16 16:35

回复 5# bailong360
這樣會一下子插入很多行,我想只插入三行.。。。第十行之後插入,再隔7行插入,再隔8行再插入。。。大概這意思,不循環插入
作者: bailong360    时间: 2015-7-16 17:20

回复 6# legend_bat
已修改
作者: legend_bat    时间: 2015-7-17 08:25

回复 7# bailong360
昨天我也在你這代碼基礎上修改出來了,非常感謝,多謝指導!




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