当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 硬盘浏览程序,保存成网页格式便可使用

Javascript
JS 参数传递的实际应用代码分析
prototype与jquery下Ajax实现的差别
用JS写的简单的计算器实现代码
javascript 数组操作实用技巧
JavaScript 中级笔记 第二章
JavaScript 中级笔记 第三章
JavaScript 中级笔记 第四章 闭包
JavaScript 中级笔记 第五章 面向对象的基础
Mootools 1.2教程 函数
Mootools 1.2教程 事件处理
通过Mootools 1.2来操纵HTML DOM元素
Mootools 1.2教程 设置和获取样式表属性
Mootools 1.2教程 输入过滤第一部分(数字)
Mootools 1.2教程 输入过滤第二部分(字符串)
Mootools 1.2教程 Fx.Tween的使用
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
MooTools 1.2中的Drag.Move来实现拖放
Mootools 1.2教程 正则表达式
Mootools 1.2教程 定时器和哈希简介
Mootools 1.2教程 滚动条(Slider)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 225 ::
收藏到网摘: n/a

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

<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:[email protected]][@06.11]
</font>
</div>
</body>
</html>