『第
2 楼』:
1.把下面的脚本保存为.js文件,例如:replace.js
2.接着把包含要处理的文件的目录用鼠标[拖到1中js文件的l图标上
说明:
1. 脚本将批量处理你拖放的目录(不包括子目录,可以自已开启)
2.处理后的文件在js文件所在目录下的#jscript#目录下
3.如果开启子目录功能,处理后的目录结构和原目录相同.
3.只要修改下脚本中的正则表达式,WINDOWS下的文件本处理基本可以解决.
var re=/txt/; //要处理的文件类型
CONVERT_SUBS=false; //是否处理子目录
fso=new ActiveXObject("Scripting.FileSystemObject");
if(WScript.arguments.length!=1)WScript.quit();
else{
if(!fso.FolderExists(WScript.arguments(0))){
WScript.echo("必须为目录!");WScript.quit();}
PathSpec=WScript.arguments(0);
}
WshShell=WScript.CreateObject("WScript.Shell");
WshShell.CurrentDirectory=fso.GetParentFolderName(WScript.ScriptFullName);
if(!fso.FolderExists("#JSCRIPT#"))fso.CreateFolder("#JSCRIPT#");
WshShell.CurrentDirectory="#JSCRIPT#"
Main(PathSpec);
WScript.quit();
function Main(FileSpec){
var fld,fs,fds,f,fd,curdir;
curdir=fso.GetBaseName(FileSpec);
if(!fso.FolderExists(curdir))fso.CreateFolder(curdir);
curdir=fso.GetAbsolutePathName(curdir);
WshShell.CurrentDirectory=curdir;
fld = fso.getfolder(FileSpec);
fds = new Enumerator(fld.subfolders);
fs = new Enumerator(fld.files)
for(;!fs.atEnd();fs.moveNext()){
f=fs.item();if(f.size==0)continue;
if(re.test(fso.getextensionname(f.name).toLowerCase( ))){
var fl=fso.opentextfile(f.path,1,false,-2);
var sss=fl.readall();fl.close();
//////////////////对每个文件执行以下正则表达式查找替换//////////////////////////
sss=sss.replace(/^(\d.*\r\n)/gmi,"$1参考答案为\r\n");
////////////////////////////////////////////////////////////////////////////////
var fl=fso.createtextfile(fso.GetBaseName(f.path)+".txt",true,true);
fl.write(sss);fl.close();
}
}
if(CONVERT_SUBS)
for(;!fds.atEnd();fds.moveNext()){
d=fds.item();
Main(d.path);
WshShell.CurrentDirectory=curdir
}
}
|