查找目录中所有带中文字符的文件,并列出中文所在的行
来源:互联网 发布:淘宝客源码免费下载 编辑:程序博客网 时间:2024/05/16 11:21
bat文件: findcn.bat
rem start to search...wscript findcn.js
findcn.sj文件
/**//** * @Author : Barry Diu 2008-05-08 * 找出目录下的php,js,htm文件中的中文字符的位置 * usage : wscript find_chinese.js outputpath sourcefolder1 sourcefolder2 sourcefolder3 ... * 如果没有参数默认 搜索当前目录并把结果输出到当前目录的find_chinese.txt文件中 * eg. wscript find_chinese.js * wscript find_chinese.js find.txt C:ProjectAutobildwork runkmod */var ForReading = 1, ForWriting = 2; // FSO的常量,不要改动var fso, f1, fldr, foldpath, outputfolderpath, outputfile;var searchFileTypeArr = new Array('cpp', 'h'); // 要查找的文件类型的扩展名, 跟据你的需要修改/**//* 显示参数if(WScript.Arguments.length>0){ for(i=0; i<WScript.Arguments.length; i++){ WScript.Echo( i + " : " + WScript.Arguments(i) ); }}*/fso = new ActiveXObject("Scripting.FileSystemObject");foldpath = new Array('.');outputfolderpath = '';if(WScript.Arguments.length>0){ outputfolderpath = WScript.Arguments(0);}if(WScript.Arguments.length>1){ foldpath = new Array(); for(i=1; i<WScript.Arguments.length; i++){ foldpath[ i -1 ] = WScript.Arguments(i); }}for(i=0; i<foldpath.length; i++){ if( !fso.FolderExists( foldpath[i] ) ){ WScript.Echo("folder is not exist!!!"); }}fldr = fso.GetFolder(foldpath);//WScript.Echo(fldr);if(outputfolderpath!=''){ outputfile = outputfolderpath;}else{ outputfile = "find_chinese.txt";}f1 = fso.createtextfile(outputfile, true); var starttime = new Date();f1.WriteLine( starttime.toString() + " : Starting to search chinese characters in " + fldr + ".....") ;f1.WriteBlankLines(2) ; for( i=0; i<foldpath.length; i++ ){ iterate(foldpath[i]);}f1.WriteBlankLines(2) ; var endtime = new Date();f1.WriteLine( endtime.toString() + " : Search chinese characters finish") ;// 递归循环列出目录下的文件和子目录下的文件function iterate(path){ var folder, folders, files, file,fileExtName, fileTypeIsCorrect; folder = fso.GetFolder(path); // check files files = new Enumerator(folder.files); for (; !files.atEnd(); files.moveNext()) { // 过滤文件类型 fileTypeIsCorrect = false; fileExtName = getFileExtendName( files.item().Name ); for( i=0; i<searchFileTypeArr.length; i++){ if( fileExtName == searchFileTypeArr[i] ){ fileTypeIsCorrect = true; } } if(!fileTypeIsCorrect){ continue; } // 查找中文字符 checkChineseChar(files.item()); } // 递归查找子目录 check subfolders folders = new Enumerator(folder.SubFolders); for (; !folders.atEnd(); folders.moveNext()) { iterate(folders.item()); }}// 查找中文字符function checkChineseChar(targetFile){var pattern1; var pattern; pattern = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi; // 中文 ; 判断使用 pattern.test(content) pattern1 = /[^/]/gi; var content; var output = ''; var find = false; var line = 1; var rfile = fso.OpenTextFile(targetFile, ForReading); while( !rfile.AtEndOfStream ){ content = rfile.ReadLine(); if ( pattern.test(content) ) { if ( pattern1.test(content) ) { // 注意 ! 的 有/无 ! find = true; output += " #line " + line + " ; " + content + "\r\n"; } } line++; } if(find){ f1.WriteLine(targetFile); f1.WriteLine(output); f1.WriteBlankLines(1) ; }}// 获取文件扩展名function getFileExtendName(filename){ var length = filename.length; var charindex = filename.lastIndexOf("."); var extname = ''; if(charindex>0){ extname = filename.substring(charindex+1,length); } return extname.toLowerCase();}
- 查找目录中所有带中文字符的文件,并列出中文所在的行
- 查找并列出所有用户放入回收站的文件
- Java 查找指定文件夹下的所有文件中包含有中文的文件,并抠出中文
- 一个查找源代码文件中中文字符的脚本
- 递归查找出目录下的所有文件
- shell:查找本目录所有C文件中具有abcdefg字符的.c文件
- 用正则在eclipse中搜寻出所有中文字符
- Linux使用grep查找字符串所在某个目录的所有文件
- SQL中 在字符串中查找所有中文字符
- 带中文的目录压缩成一个zip文件
- Julia: readcsv 如何处理带中文字符的CSV文件
- Android Studio查找有中文字符的文件位置
- Python查找文件中包含中文的行
- vim或sed删除文本文件中所有的中文字符
- QString分离出所选择文件所在目录的代码
- Tomcat应用向所在的linux环境中的文件写入中文字符乱码
- python选取文件夹,然后计算该文件夹下所有文件的md5值,并列出md5值相同的文件到log中
- 查找文件中单词所在的段落
- Gis软件改怎么选择
- js控制,背景变暗,弹出层,create_bg和remove_bg用来控制背景,移除后背景不变暗
- pyGTK_读书笔记_Tutorial Chapter 5&6_Widget Overview and Button Widget
- Android_listview分页加载更多
- 十招教你从程序员转向企业家
- 查找目录中所有带中文字符的文件,并列出中文所在的行
- 获得本周所有日期
- 空间3点投影定位算法
- hibernate.properties
- Android开发常见错误及技巧
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- flex move
- Android传感器编程入门
- 推动100家软件和信息服务业企业向云计算服务转型