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


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 相关文章推荐
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
Javascript中this的用法详解
Sep 22 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
vue bootstrap小例子一枚
Jun 09 Javascript
微信小程序自定义prompt组件步骤详解
Jun 12 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
js实现移动端吸顶效果
Jan 08 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
php+ajax制作无刷新留言板
2015/10/27 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
php递归函数怎么用才有效
2018/02/24 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
Vue中图片Src使用变量的方法
2019/10/30 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
Flask框架信号用法实例分析
2018/07/24 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
个人委托书范本
2014/04/02 职场文书
后备干部培训方案
2014/05/22 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
Django框架中表单的用法
2022/06/10 Python