硬盘浏览程序,保存成网页格式便可使用


Posted in Javascript onDecember 03, 2006

硬盘浏览程序,保存成网页格式便可使用,放到随意一个盘,不要放桌面就可以了

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
var errorinf=new Error(); 
var fso,fdrive,ffolder,ffile; 
var getdata="",selfpath="",drvpath="",favpath=""; 
var drive=new Array(),favorite=new Array(); 
var currentdrive=""; 
var hidestate=false; 
var lastdrive="",lastfav=""; 
var ppath=new Error(),ppathcounter=0,favcounter=0; 
var openfromfav=0; 
function initdoc() 
{ 
try 
{ 
   var outstr="",counter=0,i=0,writestr=""; 
   fso=new ActiveXObject("Scripting.FileSystemObject"); 
   selfpath=fso.GetParentFolderName(location.pathname.replace(/\//,"")); 
   drvpath=selfpath+"\\drvinf.ini"; 
   /*Get the hard drives on the computer.*/ 
   if(!fso.FileExists(drvpath)) 
      { 
         fdrive=fso.Drives; 
         getdata=new Enumerator(fdrive); 
         for(;!getdata.atEnd();getdata.moveNext()) 
           if(getdata.item().DriveType==2) 
             { 
                drive[counter]=getdata.item().DriveLetter; 
                writestr+=drive[counter]+"$"; 
                counter++; 
              } 
         ffile=fso.CreateTextFile(drvpath,true); 
         writestr=writestr.replace(/\$$/,""); 
         ffile.WriteLine(writestr+"\r"); 
         ffile.Close(); 
      } 
   else 
      { 
        ffile=fso.OpenTextFile(drvpath,1); 
        getdata=ffile.ReadAll().replace(/\'|\"|\\|\/|\:|\s+/g,""); 
        getdata=getdata.replace(/^\$+|\$+$/,""); 
        getdata=getdata.replace(/\$\$+/,"$"); 
        drive=getdata.split("$"); 
        ffile.Close(); 
      } 
   for(i=0;i<drive.length;i++) 
      outstr+="[<a href='' id='drive"+drive[i]+"' onClick=\"driveactive(drive["+i+"]);return false;\">本地磁盘:"+drive[i]+"</a>]"; 
   outstr+="显示隐藏内容<input style='height:15px;border:none;' type='checkbox' id='showorhide' onClick='hidestate=this.checked;flashdrive();'>" 
   document.getElementById("drives").innerHTML=outstr; 
   getdata="";outstr=""; 
   /*Get the exist item.*/ 
   favpath=selfpath+"\\favinf.ini"; 
   if(fso.FileExists(favpath)) 
    { 
      ffile=fso.OpenTextFile(favpath,1); 
      if(!ffile.AtEndOfStream) 
       { 
          getdata=ffile.ReadAll().replace(/\"|\s+/g,""); 
          getdata=getdata.replace(/^\|+|\|+$/,""); 
          getdata=getdata.replace(/\|\|+/,"|"); 
          favorite=getdata.split("|"); 
       } 
      ffile.Close(); 
      if(favorite[0]=="") 
        favcounter=0; 
      else 
        favcounter=favorite.length; 
    } 
   else 
    { 
      ffile=fso.CreateTextFile(favpath,true); 
      ffile.Close(); 
      favcounter=0; 
    }   
   openfav(); 
   driveactive("C"); 
   getdata=""; 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function driveactive(driveval) 
{ 
try{   
   if(lastdrive==("drive"+driveval)&¤tdrive.match(/^[a-z]\:\\$/i)) 
     { 
       document.getElementById("showorhide").focus(); 
       return false; 
     } 
   if(lastdrive=="")lastdrive="driveC"; 
   document.getElementById(lastdrive).style.backgroundColor="#CCCCCC"; 
   lastdrive="drive"+driveval; 
   document.getElementById(lastdrive).style.backgroundColor="#FFFFDD"; 
   var att="",drv,totalsize,freespace,usespace,outstr="",pathstr="",attribu=0,subfolfil="",fcount=0; 
   drv=fso.GetDrive(driveval); 
   totalsize=Math.round((drv.TotalSize/Math.pow(2,30))*100)/100; 
   freespace=Math.round((drv.FreeSpace/Math.pow(2,30))*100)/100; 
   usespace=Math.round((totalsize-freespace)*100)/100; 
   totalsize>1 ? totalsize+="GB":totalsize=totalsize*Math.pow(2,10)+"MB"; 
   freespace>1 ? freespace+="GB":freespace=freespace*Math.pow(2,10)+"MB"; 
   usespace>1 ? usespace+="GB":usespace=usespace*Math.pow(2,10)+"MB"; 
   att+="本地磁盘:"+driveval+"\n文件系统:"+drv.FileSystem+"\n磁盘大小:"+totalsize+"\n已用空间:"+usespace+"\n可用空间:"+freespace+"\n"; 
   outstr=""; 
   currentdrive=pathstr=driveval+":\\"; 
   ffolder=fso.GetFolder(pathstr+"\\").SubFolders; 
   getdata=new Enumerator(ffolder); 
   outstr="<div class='showcon'>文件夹:[<a href='' onclick=\"return unfurlorfold('folshow',this);\">隐藏</a>]<div id='folshow'>"; 
   ppathcounter=0; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==16||attribu==17||attribu==48||attribu==49) 
      { 
        fcount++; 
        ppath[ppathcounter]=driveval+":\\"+getdata.item().name; 
        outstr+="<div><a href='' onClick=\"folderactive(ppath["+ppathcounter+"]);" 
        outstr+="return false;\">"+getdata.item().Name+"</a></div>"; 
        ppathcounter++; 
      } 
    } 
   subfolfil="找到"+fcount+"个文件夹,"; 
   fcount=0; 
   ffile=fso.GetFolder(pathstr).Files; 
   getdata=new Enumerator(ffile); 
   outstr+="</div></div><div class='showcon'>文  件:[<a href='' onclick=\"return unfurlorfold('filshow',this);\">隐藏</a>]<div id='filshow'>"; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==0||attribu==1||attribu==32||attribu==33) 
      { 
        fcount++; 
        outstr+="<div><a href=\""+currentdrive+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
      } 
    }  
   outstr+="</div></div>"; 
   subfolfil+=fcount+"个文件."; 
   document.getElementById("showcontent").innerHTML=outstr; 
   document.getElementById("currentdrive").innerText=currentdrive; 
   document.getElementById("showdriveatt").innerText=att; 
   att="文件夹名称:\n\n文件夹大小:\n创建时间:\n\n修改时间:\n\n访问时间:\n\n"; 
   document.getElementById("showfolderatt").innerText=att; 
   document.getElementById("subfolfil").innerText=subfolfil; 
   att="[<a href=\""+currentdrive+"\" target='_blank'>打开</a>]"; 
   att+="[<a href='' onclick=\"addfav();return false;\">收藏</a>]"; 
   document.getElementById("openfol").innerHTML=att; 
   document.getElementById("showorhide").focus(); 
   getdata=""; 
   }catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function folderactive(folderval) 
{ 
try 
{ 
   var att="",fol="",totalsize=0,sizesign=""; 
   openfolder(folderval); 
   if(!folderval.match(/^[a-z]\:\\$/i)) 
    { 
     fol=fso.GetFolder(folderval); 
     totalsize=fol.Size/Math.pow(2,30); 
     totalsize>1 ? sizesign="GB":(totalsize=totalsize*Math.pow(2,10),sizesign="MB"); 
     (totalsize<1 && sizesign=="MB") ? (totalsize=totalsize*Math.pow(2,10),sizesign="KB"):{} 
     totalsize=Math.round((totalsize)*100)/100+sizesign; 
     att+="文件夹名称:\n"+fol.Name+"\n文件夹大小:"+totalsize+"\n创建时间:\n"; 
     att+=fol.DateCreated+"\n修改时间:\n"+fol.DateLastModified+"\n访问时间:\n"+fol.DateLastAccessed; 
     document.getElementById("showfolderatt").innerText=att+"\n"; 
    } 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function openfolder(currfolder) 
{ 
try 
{ 
   var sign=0,outstr="",attribu=0,subfolfil="",fcount=0; 
   if(currfolder==""){alert("没有选择文件夹.");return false;} 
   currentdrive=currfolder; 
   ffolder=fso.GetFolder(currfolder).SubFolders; 
   getdata=new Enumerator(ffolder); 
   outstr="<div class='showcon'>文件夹:[<a href='' onclick=\"return unfurlorfold('folshow',this);\">隐藏</a>]<div id='folshow'>"; 
   ppathcounter=0; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==16||attribu==17||attribu==48||attribu==49) 
      { 
        fcount++; 
        ppath[ppathcounter]=currfolder.replace(/\\+$/i,"")+"\\"+getdata.item().name; 
        outstr+="<div><a href='' onClick=\"folderactive(ppath["+ppathcounter+"]);" 
        outstr+="return false;\">"+getdata.item().Name+"</a></div>"; 
        ppathcounter++; 
      } 
    } 
   subfolfil="找到"+fcount+"个文件夹,"; 
   fcount=0; 
   ffile=fso.GetFolder(currfolder).Files; 
   getdata=new Enumerator(ffile); 
   outstr+="</div></div></div><div class='showcon'>文  件:[<a href='' onclick=\"return unfurlorfold('filshow',this);\">隐藏</a>]<div id='filshow'>"; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==0||attribu==1||attribu==32||attribu==33) 
      { 
        fcount++; 
        if(openfromfav==0) 
          outstr+="<div><a href=\""+currentdrive+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
        else 
          outstr+="<div><a href=\""+currentdrive+"\\"+getdata.item().Name+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
      } 
    }    
   outstr+="</div></div>";   
   subfolfil+=fcount+"个文件."; 
   document.getElementById("showcontent").innerHTML=outstr; 
   document.getElementById("currentdrive").innerText=currentdrive; 
   att="文件夹名称:\n\n文件夹大小:\n创建时间:\n\n修改时间:\n\n访问时间:"; 
   document.getElementById("showfolderatt").innerText=att; 
   document.getElementById("subfolfil").innerText=subfolfil; 
   att="[<a href=\""+currentdrive+"\" target='_blank'>打开</a>]"; 
   att+="[<a href='' onclick=\"addfav();return false;\">收藏</a>]"; 
   document.getElementById("openfol").innerHTML=att; 
   getdata=""; 
   openfromfav=0; 
  }catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function upfile() 
{ 
   var rootpath=""; 
   rootpath=currentdrive; 
   if(!rootpath.match(/^[a-z]\:\\$/i)) 
     { 
        rootpath=rootpath.replace(/\\[^\\]*$/,""); 
        if(rootpath.match(/^[a-z]\:$/i)){rootpath+="\\";} 
        folderactive(rootpath); 
     } 
   else 
     alert("驱动器根目录."); 
} 
function flashdrive() 
{ 
  folderactive(currentdrive); 
} 
function openfav() 
{ 
   lastfav=""; 
   var outstr="",i=0; 
   for(i;i<favcounter;i++) 
    { 
      outstr+="<a id='fav"+i+"' href='' onclick=\"openfromfav=1;folderactive(favorite["+i+"]);" 
      outstr+="favactive(this.id);return false;\" target='_blank'>"+favorite[i].replace(/^.+\\/,"")+"</a><br>"; 
    } 
   document.getElementById("showfavorite").innerHTML=outstr; 
   document.getElementById("delfav").value=""; 
} 
function favactive(favid) 
{ 
   var i=parseInt(favid.match(/\d/)); 
   if(lastfav!="") 
      document.getElementById(lastfav).style.backgroundColor="#CCCCCC"; 
   lastfav=favid; 
   document.getElementById("delfav").value=favorite[i]; 
   document.getElementById(lastfav).style.backgroundColor="#FFFFDD"; 
   document.getElementById("showorhide").focus(); 
} 
function addfav() 
{ 
try 
{ 
   if(currentdrive.match(/^[a-z]\:\\$/i)) 
     { 
       alert("只能收藏文件夹."); 
       return false; 
     } 
   var i=0; 
   for(i=0;i<favcounter;i++) 
     { 
       if(favorite[i]==currentdrive) 
         { 
            alert("常用文件夹中已经存在该文件夹."); 
            return false; 
         } 
     } 
   if(fso.FileExists(favpath)) 
     { 
       ffile=fso.OpenTextFile(favpath,8); 
     } 
   else 
     { 
       ffile=fso.CreateTextFile(favpath,true); 
     } 
   ffile.Write("|"+currentdrive); 
   ffile.Close(); 
   favorite[favcounter]=currentdrive; 
   favcounter++; 
   openfav(); 
   alert("添加成功."); 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便删除数据文件*.ini文件.");} 
} 
function delfav() 
{ 
try 
{ 
   var delpath=document.getElementById("delfav").value; 
   var i=lastfav.match(/\d/),j=parseInt(i); 
   var newfav=""; 
   document.getElementById("showorhide").focus(); 
   if(delpath=="") 
     { 
        alert("没有选择常用文件夹."); 
        return false; 
     } 
   if(confirm("确定删除常用文件夹(并非从硬盘删除):\n"+delpath+"\n?")) 
     { 
        favcounter--; 
        for(j;j<favcounter;j++) 
          favorite[j]=favorite[j+1]; 
        for(j=0;j<favcounter;j++) 
          newfav+=favorite[j]+"|"; 
        ffile=fso.OpenTextFile(favpath,2); 
        newfav=newfav.replace(/^\||\|$/,""); 
        ffile.WriteLine(newfav); 
        ffile.Close(); 
        openfav(); 
        document.getElementById("delfav").value=""; 
        alert("删除成功."); 
     } }catch(errorinf){document.getElementById("delfav").value="";alert(errorinf.description+"\n\n请不要随便删除数据文件*.ini文件.");} 
} 
function unfurlorfold(objid,obj) 
{ 
  if(obj.innerText=="隐藏") 
     { 
       obj.innerText="显示"; 
       document.getElementById(objid).style.display="none"; 
     } 
  else 
     { 
       obj.innerText="隐藏"; 
       document.getElementById(objid).style.display=""; 
     }   
  document.getElementById("showorhide").focus();  
  return false;   
} 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>FileLookThroughAdmin V1.0</title> 
<style type="text/css"> 
<!-- 
body{ 
background-color:#EEEEEE;} 
div.main{ 
background-color:#CCCCCC; 
width:100%; 
padding:6px 10px 10px;} 
h1{font-size:36px; 
font-family:"华文彩云"; 
color:#0000FF;} 
hr{ 
width:95%; 
text-align:left;} 
table.tableclass{ 
table-layout:fixed; 
word-wrap:break-word; 
width:100%; 
font-size:12px; 
background-color:#EEEEEE;} 
table.tableclass td{ 
background-color:#CCCCCC;} 
#drive{} 
td.drvinf{ 
vertical-align:top; 
padding:5px;} 
td.folderfile{ 
height:430px; 
vertical-align:top;} 
td.folderfile div.showcon{ 
width:100%;} 
td.folderfile div.showcon div div{ 
padding:1px 0px; 
width:49%; 
float:left;} 
a:link{text-decoration:none; 
color:#0000FF;} 
a:active{text-decoration:none; 
color:#0000FF;} 
a:visited{text-decoration:none; 
color:#0000FF;} 
a:hover{ 
text-decoration:underline; 
color:#FF0000; 
background-color:#FFFFDD;} 
.button{ 
border:none; 
height:20px; 
width:50px; 
background-color:#CCCCCC;} 
td.fav{ 
vertical-align:top; 
padding:5px;} 
--> 
</style> 
</head> 
<body onLoad="javascript:initdoc();status='FileLookThroughAdmin V1.0';"> 
<div class="main"> 
  <h1>FileLookThroughAdmin</h1> 
  <div style="margin-top:-36px;"><hr></div> 
  <div style="margin-top:-14px;position:relative;left:5%;"><hr></div> 
  <div> 
    <table class="tableclass"> 
      <tr align="center"> 
        <td width="18%">收藏夹</td> 
        <td width="60%">文件夹及文件</td> 
        <td>相关信息</td> 
      </tr> 
      <tr> 
        <td align="center"> 
          HardDrives>> 
        </td> 
        <td colspan="2"> 
          <div id="drives"></div> 
        </td> 
      </tr> 
      <tr> 
        <td align="center"> 
          Tag>> 
        </td> 
        <td align="center" colspan="2"> 
          DisplayContent 
        </td> 
      </tr> 
      <tr> 
        <td align="center"> 
          CurrentPath>> 
        </td> 
        <td colspan="2"> 
          <div id="currentdrive"></div> 
        </td> 
      </tr> 
      <tr> 
        <td class="fav"> 
          <div>常用文件夹:</div> 
          <div id="showfavorite"></div> 
        </td> 
        <td rowspan="2" class="folderfile"> 
          <div onclick="upfile();" style="height:15px;cursor:pointer;padding-top:5px;" align="center" 
           onmouseover="this.style.backgroundColor='#FFFFDD';" 
           onmouseout="this.style.backgroundColor='#CCCCCC';"> 
          上一级目录</div> 
          <div id="showcontent" style="padding-left:5px;"></div> 
        </td> 
        <td rowspan="2" class="drvinf"> 
          <font color="#FF0000">当前驱动器信息:</font> 
          <div id="showdriveatt"></div> 
          <font color="#FF0000">当前文件夹信息:</font> 
          <span id="openfol"></span> 
          <div id="showfolderatt"></div> 
          <div id="subfolfil" style="color:#FF0000;"></div> 
        </td> 
      </tr> 
      <tr> 
        <td class="fav"> 
          <div>删除常用文件夹:</div><br> 
          <div align="center"> 
            P:<input id="delfav" type="text" style="border:none;" readonly><br><br> 
            [<a href="" onClick="delfav();return false;">执行删除</a>] 
          </div> 
        </td> 
      </tr> 
    </table> 
  </div> 
</div> 
<div> 
  <font style="font-size:12px;cursor:default;" color="#666666" onmouseover="this.color='#FF0000'" onmouseout="this.color='#666666'"> 
    Design:sgw.LKing(∮LKing♂)[FS:Ecjtu2006|QQ:28857496|E-Mail:sgw.lking@gmail.com][@06.11] 
  </font> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
键盘控制事件应用教程大全
Nov 24 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
Jun 12 Javascript
JavaScript中window、doucment、body的解释
Aug 14 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
Jan 28 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 jQuery
Vue如何实现组件的源码解析
Jun 08 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
解决elementui表格操作列自适应列宽
Dec 28 Javascript
常用js脚本
Dec 03 #Javascript
论坛特效代码收集(落伍转发-不错)
Dec 02 #Javascript
线路分流自动跳转代码;希望对大家有用!
Dec 02 #Javascript
phpwind放自动注册方法
Dec 02 #Javascript
一段好玩的JavaScript代码
Dec 01 #Javascript
[原创]网络复制内容时常用的正则+editplus
Nov 30 #Javascript
JavaScript中令你抓狂的魔术变量
Nov 30 #Javascript
You might like
html中select语句读取mysql表中内容
2006/10/09 PHP
php创建多级目录代码
2008/06/05 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python数据类型详解(一)字符串
2016/05/08 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
python无序链表删除重复项的方法
2020/01/17 Python
最新离婚协议书范本
2014/08/19 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
授权收款委托书
2014/09/23 职场文书
2015年三万活动总结
2015/03/25 职场文书
垂直极限观后感
2015/06/08 职场文书
小学作文之描写天气
2019/08/15 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript