继往开来 吐故纳新
日历
网志分类
· 所有网志 (990)
· 个人作品 (62)
· 软件设计 (33)
· 面向对象编程 (22)
· JavaAPI (39)
· Java开源工具 (31)
· Swing (34)
· Java语法细节 (39)
· 样式表CSS (12)
· XML (10)
· J2EE(JavaEE) (23)
· 算法数据结构 (64)
· 正则表达式 (4)
· 软件知识 (6)
· Java线程 (9)
· Web开发.Jsp/Servlet/Struts (20)
· 程序随想录 (7)
· Spring (5)
· Hibernate (7)
· J2SE 高级 (2)
· J2SE 高级 (0)
· Web开发.Ajax (16)
· Web开发.JavaScript (43)
· DB4O (2)
· Web开发.CSS/Html (22)
· C# (20)
· ERP (4)
· JDBC (1)
· 编程资源 (16)
· 编程感悟 (29)
· DB/Sql (13)
· VB (29)
· VC (2)
· 桌面脚本 (3)
· 新兴软件 (3)
· 英语学习 (21)
· 网文转载 (159)
· 职场风云 (39)
· 诗词歌赋 (32)
· 生活感言 (77)
· 奇文共赏 (13)
· 财经纵横 (6)
· 未分类 (11)
站内搜索
友情链接
· 歪酷博客
· 我的歪酷 非非共享界
· 偶要雷锋
· 豆瓣
· nczonline
· 当当网
· easyjf中文站
· Donews
· 天极Java文章列表
· W3CSchool
· taiten的BLOG
· Dojo中国
· Dojo
· Extjs.com
· Lifehack中文网志
· JaveEye的一个AS专题
· Banq's JDon
· Java 中文网址大全
· 梦想Java
· 360Doc个人图书馆
· java开源大全
· 我在硅谷动力的软件下载站
· 站长中国
· 随意贴
· CSS教学素材站
· java 参考中文站
· 面向构件与SOA社区
· 彩字生成
· 派派小说论坛
· 如坐春风
· 英语学习网
· BBC CHina
· www.dlbang.com
· 古文竖排格式在线转化工具
· 免费家谱
· 图片上传基地
· 风景壁纸
· 和风细雨
· MyC#BlogInCsdn

订阅 RSS

0207512

歪酷博客

开此博一为经验积累,二为资料收集,三为同道交流,四为资源共享.
« 上一篇: 【原创】试论一个对日项目组的人员配置和职责 下一篇: 【原创】公司该如何面试程序员? »
Junglesong @ 2006-03-04 11:18

功能:我们纳品时需要手工删除目录中的Scc文件并将所有文件的只读属性变成读写,工具能简化这个机械无聊的过程。

工具概况:用JavaScript书写的Windows Script Host脚本,在Win2K和WinXp下可独立运行,无须额外支持。绿色,不修改注册表。大小4K。

用法:
首先将附件包中的folderSweep.js放到本地.
用文本编辑器打开这个文件,找到第六行,将变量NEW_FOLDER_DEST指向的地址修改为你想放置新目录的地址,注意目录分隔符的书写,例:var NEW_FOLDER_DEST="D:\",var NEW_FOLDER_DEST="C:\aa\"。然后保存。
其次,将你想要处理的目录拖曳到folderSweep.js或者其快捷方式上,拖曳方式左右键均可,程序处理完毕后会弹出对话框提示.处理后的新目录和Log会出现在你指定的目录中.

注意:指定目录中与源目录同名的目录,请在处理开始删除.处理中出现问题请告诉我.我的E-MAil:junglesong@gmail.com

源码如下:
// Author:junglesong
// Version:2006/03/04
// E-mail:junglesong@gmail.com

// You can change this to you wanna position.Pay Attention To "\"
var NEW_FOLDER_DEST="D:\Documents and Settings\Administrator\デスクトップ\";

// Get Argument
var objArgs = WScript.Arguments;
if (objArgs.length>1){
        WScript.Echo("Only one argument is permitted!");
        WScript.Quit(1);
}

var firstArgument=objArgs(0);
if(isFolder(firstArgument)==false){
        WScript.Echo("Only folder is permitted!");
        WScript.Quit(1);
}

var srcSpec=firstArgument;
var destSpec=NEW_FOLDER_DEST;
copyFolder(srcSpec,destSpec);


var logFilePath=destSpec+"\folderSweeplog.csv";
var logInfo="No.,Name,Attribute Change,Prcess,FilePath\r\n";
var logLine=0;

var newFolderSpec=getNewFolderPath(srcSpec,destSpec);
traversalFolder(newFolderSpec);
sweepFolderFileList(newFolderSpec);
writeLogFile(logFilePath,logInfo);

WScript.Echo("The Folder:"+newFolderSpec+"\n is sweep completed!");

function isFolder(folderSpec){
        var fso=WScript.CreateObject("Scripting.FileSystemObject");
        return(fso.FolderExists(folderSpec));
}

function copyFolder(fromFolder,toFolder)
{
        var fso=WScript.CreateObject("Scripting.FileSystemObject");
        fso.CopyFolder(fromFolder,toFolder);
}

function getNewFolderPath(fromFolder,toFolder){
        var fso=WScript.CreateObject("Scripting.FileSystemObject");
        var folderName=fso.GetFolder(fromFolder);
        return(toFolder+folderName.Name+"\");
}

function traversalFolder(destFolder)
{
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var folderObj = fso.GetFolder(destFolder);
   var fCollection = new Enumerator(folderObj.SubFolders);
   var subFolder ="";
   for (; !fCollection.atEnd(); fCollection.moveNext())
   {
                subFolder=fCollection.item();
                sweepFolderFileList(subFolder);
                traversalFolder(subFolder);
   }  
}

function sweepFolderFileList(folderspec)
{
   var fso, f, f1, fc;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder(folderspec);
   fc = new Enumerator(f.files);
   var filePath = "";
   for (; !fc.atEnd(); fc.moveNext()){
      filePath=fc.item().Path;
          fileProcess(filePath);
   }
}

function fileProcess(fileSpec){
        var fso= new ActiveXObject("Scripting.FileSystemObject");
        var file=fso.GetFile(fileSpec);

        logLine+=1;
        logInfo+=logLine.toString()+","+file.Name+",";
        //WScript.Echo(logInfo);

        // Change ReadOnly Attribute to ReadWrite
        try{
                if(file.attributes && 33){
                        file.attributes=file.attributes-1;
                        logInfo+="ReadOnly->ReadWrite,";
                }
                else{
                        logInfo+=",";
                }
        }
        catch(e){
           WScript.Echo("Attribute"+filespec);
    }

        // Delete Scc File
        if(fileSpec.indexOf(".")!=-1){
                var fileExt=fileSpec.substring(fileSpec.indexOf(".")+1,fileSpec.length);

                fileExt=fileExt.toUpperCase();
                
                if(fileExt=="SCC"){
                        DeleteAFile(fileSpec);
                        logInfo+="Removed,";
                }
                else{
                        logInfo+=",";
                }
        }

        logInfo+=fileSpec+"\r\n";
       
}

function DeleteAFile(filespec)
{
   try{
           var fso;
           fso = new ActiveXObject("Scripting.FileSystemObject");
           fso.DeleteFile(filespec);
   }
   catch(e){
           //WScript.Echo(filespec);
   }
}

function writeLogFile(fileName,fileConcept){
   var fso, tf;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   tf = fso.CreateTextFile(fileName, true);
   tf.Write (fileConcept);
   tf.Close();
}

下载地址:http://www.blogjava.net/Files/junglesong/folderSweep.rar



评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定