Board logo

标题: [文件操作] 批处理如何在多个txt文本文件的指定行之下插入一行空行? [打印本页]

作者: igood205    时间: 2016-6-29 11:51     标题: 批处理如何在多个txt文本文件的指定行之下插入一行空行?

本帖最后由 pcl_test 于 2016-9-14 13:50 编辑

多个txt文件,用bat批量在第二行添加一个空行。就是每个txt文件,在第二行添加一个空行。不能删除其他行的文字。谢谢。请给完整代码
作者: igood205    时间: 2016-6-29 14:15

有人会吗??
作者: jrx401    时间: 2016-6-29 23:35

你是说 第二行的最前面加空格还是末尾段?
作者: GNU    时间: 2016-6-29 23:35

  1. sed -i "1s/$/\n/" *.txt
复制代码

作者: igood205    时间: 2016-6-30 11:12

回复 4# GNU


    所有文件里都是文章文件。每一行都有文字的。现在新插入一个空行在第二行,不影响其他的文字。我要的是完整代码。谢谢!!!
作者: GNU    时间: 2016-6-30 13:48

回复 5# igood205


4楼代码你测试过了吗?把报错信息发出来看看吧
为啥你觉得4楼不是完整的代码呢?不是每个问题都必须一大段代码才能解决的啊
作者: igood205    时间: 2016-6-30 14:53

回复 6# GNU


    运行了没有实现。文件里面的内容没有变化呢
作者: pcl_test    时间: 2016-6-30 18:22

回复 7# igood205

配合第三方
http://www.bathome.net/s/tool/index.html?key=sed
作者: pcl_test    时间: 2016-6-30 21:21

本帖最后由 pcl_test 于 2016-6-30 21:24 编辑
  1. //&cls&dir /a-d/b *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit
  2. var fso = new ActiveXObject('Scripting.Filesystemobject');
  3. var txtfiles = WSH.StdIn.ReadAll().split(/\r\n/);
  4. var n = 2;  //指定行
  5. for(var i = 0; i<txtfiles.length; i++){
  6.     var j=1, txt='';
  7.     var f = fso.OpenTextFile(txtfiles[i], 1);
  8.     while(!f.AtEndOfStream){
  9.         var line = f.Readline();
  10.         if(j==n){
  11.             txt+=line+'\r\n\r\n';
  12.         }else txt+=line+'\r\n';
  13.         j++;
  14.     }
  15.     f.Close();
  16.     var f = fso.OpenTextFile(txtfiles[i], 2);
  17.     f.Write(txt);
  18.     f.Close();
  19. }
  20. WSH.echo('Done');
复制代码





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