本帖最后由 yhcfsr 于 2018-11-16 21:04 编辑
保存为BAT,放在母目录执行.
这里的多级目录是按全路径来计算的,也就是说E:\duanwenxue是一级目录- @set @n=0/*&echo off
- dir /ad/s/b|cscript -nologo -e:jscript "%~f0"
- pause&exit /b */
- var fso=new ActiveXObject('scripting.FileSystemObject');
- var re_prefix=new RegExp(">文章内容","gim");
- var re_suffix=new RegExp("短文学微信号:duanwenxuewang","gim");
- while(!WSH.StdIn.AtEndOfStream)
- {
- dir=WSH.StdIn.ReadLine();
- var count=0;
- dir.replace(/\\/g,function (){
- count++;
- });
- if(count<3||count>5) continue;
- getFiles(fso,dir);
- }
- //目录下文件
- function getFiles(fso,spDir){
- var fd=fso.GetFolder(spDir);
- var curDir=spDir.replace(/.*\\([^\\]*)/gi,'$1');
- var out =spDir.replace(/\\/gi,'/')+'/'+curDir+'.txt';
-
- var fc=new Enumerator(fd.files);
- var result='';
- for(;!fc.atEnd();fc.moveNext())
- {
- file=fc.item();
- ext=file.replace(/.*\\[^\\]*?([^.]*)$/,'$1');
- if(ext!='txt') continue;
- fo=fso.OpenTextFile(file,1);
- var flag=0;
- while(!fo.AtEndOfStream)
- {
- line=fo.ReadLine();
- if(!line||line.match(/^\s+$/)) continue;
- if (line.match(re_suffix)) break;
- if(flag==1) result+=line+'\r\n';
- if(line.match(re_prefix)) flag=1;
- }
- fo.close();
- result+='\r\n';
- }
- fo=fso.OpenTextFile(out,2,true);
- fo.Write(result);
- fo.close();
- }
复制代码
|