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

[文本处理] [已解决]批处理怎样在文本内每隔N行插入内容?

本帖最后由 hucuibai 于 2011-4-22 17:04 编辑

1,
2,
3,
4,
5,
6,
7,
上面是文本内容,我想输出的是
insert into
1,
2;
insert into
3,
4;
insert into
5,
6;

就是每隔N行插入一行文本,并且将插入行的前一行最后一个逗号改成分号
1

评分人数

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

楼主可否先搜索下。。。
***共同提高***

TOP

2# batman
  1. @echo off&setlocal enabledelayedexpansion
  2. set a=0
  3. for /f "delims=" %%i in (itemrecord_22.txt) do (
  4. echo %%i>>1.txt
  5. set /a a+=1
  6. set /a n=a%%2
  7. if !n!==0 echo 123>>1.txt
  8. )
复制代码
插入内容容易,重要的是我要改插入行前面一行最后一个逗号
[/code]

TOP

给个提示:
用set /p+退格来处理
***共同提高***

TOP

退格符输出到文本时不会产生退格效果

TOP

5# zm900612
是的,是我搞错了。。。。
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.       set /a n+=1,m=n%%2&set "str=%%a"
  4.       if !m! equ 0 (
  5.          echo !str:~,-1!;&echo 插入的字符
  6.          ) else (
  7.          echo !str!
  8.       )
  9. ))>tem
  10. del /q a.txt&ren tem a.txt
  11. start a.txt      
复制代码
1

评分人数

***共同提高***

TOP

6# batman
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (itemrecord_10.txt) do (
  3.       set /a n+=1,m=n%%10&set "str=%%a"
  4.       if !m! equ 0 (echo !str:~,-2!;&echo 插入的字符)
  5.       echo !str!
  6.       )
  7. )>test.txt
  8. pause
复制代码
把你的改了一下,效果是可以达到了,但是最后一次分割如果小于十行的话,最后一行就不能改分号      if !m! equ 0 (echo !str:~,-2!;&echo 插入的字符)

TOP

返回列表