|
|
提示:刚一开始看到有这样的功能,我也受骗了,以为真的可以通过浏览器在访问者的硬盘上创建文件,因为我开始试了一下真的可以,不信你把下面这段代码COPY到一个HTML文件当中再运行一下!
<script language="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); fso.DeleteFile("c:\\autoexec.bat",
true);
//请注意啊!把autoexec.bat改为你C盘中的其它文件名,你不改也可以!先把autoexec.bat备份啊! --> </script> | 是不是发现你C盘的Autoexec.bat文件不见呢?呵呵
其实当那个文件运行时IE会提醒你当前使用的ActiveX控件不安全,询问你是否运行,但由于你和我一样迫切想试试究竟效果如何,因此你会毫不犹疑的按下
[确定] .... 其实这是使用了FileSystemObject来实现的,要了解更详细的用法与例子的话,点这里下载
JScript的中文说明文档 或者买本 <<深入学习:JavaScript开发与实例>>
也可以看看无忧脚本整理的例子,让大家学习学习. |
让我们先来看看有什么属性与函数可用,后面会对部分函数做些小例子
方法或者属性 |
描述 |
BuildPath()
|
生成一个文件路径 |
CopyFile() |
复制文件 |
CopyFolder() |
复制目录 |
CreateFolder() |
创建新目录 |
CreateTextFile() |
生成一个文件 |
DeleteFile() |
删除一个文件 |
DeleteFolder() |
删除一个目录 |
DriveExists() |
检验盘符是否存在 |
Drives |
返回盘符的集合 |
FileExists() |
检验文件是否存在 |
FolderExists |
检验一个目录是否存在 |
GetAbsolutePathName() |
取得一个文件的绝对路径 |
GetBaseName() |
取得文件名 |
GetDrive() |
取得盘符名 |
GetDriveName() |
取得盘符名 |
GetExtensionName() |
取得文件的后缀 |
GetFile() |
生成文件对象 |
GetFileName() |
取得文件名 |
GetFolder() |
取得目录对象 |
GetParentFolderName |
取得文件或目录的父目录名 |
GetSpecialFolder() |
取得特殊的目录名 |
GetTempName() |
生成一个临时文件对象 |
MoveFile() |
移动文件 |
MoveFolder() |
移动目录 |
OpenTextFile()
|
打开一个文件流 | 实例说明
BuildPath(路径,文件名)
//这个方法会对给定的路径加上文件,并自动加上分界符 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); var
newpath = fso.BuildPath("c:\\tmp", "51js.txt"); //生成
c:\tmp\51js.txt的路径 alert(newpath); --> </SCRIPT> |
CopyFile(源文件,
目标文件, 覆盖)
//复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); var
newpath = fso.CopyFile("c:\\autoexec.bat",
"d:\\autoexec.bak"); --> </SCRIPT> |
CopyFolder(对象目录,目标目录 ,覆盖)
//复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); fso.CopyFolder("c:\\WINDOWS\\Desktop",
"d:\\");
//把C盘的Desktop目录复制到D盘的根目录 --> </SCRIPT> |
CreateFolder(目录名)
//创建一个新的目录 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); var
newFolderName = fso.CreateFolder("c:\\51JS"); //在C盘上创建一个51JS的目录
--> </SCRIPT> |
CreateTextFile(文件名, 覆盖)
//创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); var
newFileObject = fso.CreateTextFile("c:\\autoexec51JS.bat",
true); //脚本将在C盘创建一个叫
autoexec51JS.bat的文件 --> </SCRIPT> |
DeleteFile(文件名,
只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); //为了安全我先把要删除的autoexec.bat备份到你的D盘 var
newpath = fso.CopyFile("c:\\autoexec.bat",
"d:\\autoexec.bat"); //把C盘的autoexec.bat文件删除掉
fso.DeleteFile("c:\\autoexec.bat",
true); --> </SCRIPT> |
DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); fso.CopyFolder("c:\\WINDOWS\\Desktop",
"d:\\");
//为了安全我先把你C盘的Desktop目录复制到你D盘的根目录 fso.DeleteFolder("c:\\WINDOWS\\Desktop",
true); //把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但......... --> </SCRIPT> |
DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回....... |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); hasDriveD =
fso.DriveExists("d");
//检查系统是否有D盘存在 hasDriveZ = fso.DriveExists("z"); //检查系统是否有Z盘存在 if (hasDriveD)
alert("你的系统内有一个D盘"); if (!hasDriveZ)
alert("你的系统内没有Z盘"); --> </SCRIPT> |
FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回....... |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); fileName
= fso.FileExists("c:\\autoexec.bat"); if (fileName)
alert("你在C盘中有autoexec.bat文件,按下确定后这个文件将被删除!"); //开个玩笑:)
--> </SCRIPT> |
FolderExists(目录名)
//检查一个目录是否存在,如果存在就返会真,不存在就返回....... |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); folderName =
fso.FolderExists("c:\\WINDOWS\\Fonts"); if (folderName)
alert("按下确定后系统的字库将被删除!"); //开个玩笑:)
--> </SCRIPT> |
GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); pathName
= fso.GetAbsolutePathName("c:\\autoexec.bat");
alert(pathName); --> </SCRIPT> |
GetBaseName(文件对象)
//返回文件对象的文件名 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); baseName
= fso.GetBaseName("c:\\autoexec.bat"); //取得autoexec.bat的文件名autoexec alert(baseName); --> </SCRIPT> |
GetExtensionName(文件对象) //文件的后缀 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); exName =
fso.GetExtensionName("c:\\autoexec.bat"); //取得autoexec.bat后缀bat alert(exName); --> </SCRIPT> |
GetParentFolderName(文件对象) //取得父级的目录名 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); parentName =
fso.GetParentFolderName("c:\\autoexec.bat"); //取得autoexec.bat的父级目录C盘 alert(parentName); --> </SCRIPT> |
GetSpecialFolder(目录代码) //取得系统中一些特别的目录的路径,目录代码有3个分别是 0:安装Window的目录
1:系统文件目录 2:临时文件目录 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new
ActiveXObject("Scripting.FileSystemObject"); tmpFolder =
fso.GetSpecialFolder(2); //取得系统临时文件目录的路径 如我的是
C:\windows\temp alert(tmpFolder); --> </SCRIPT> |
GetTempName() //生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成*.tmp |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); tmpName
= fso.GetTempName();
//我在测试时就生成了radDB70E.tmp alert(tmpName); --> </SCRIPT> |
MoveFile(源文件, 目标文件) //把源文件移到目标文件的位置 |
<SCRIPT LANGUAGE="JavaScript"> <!-- var fso
= new ActiveXObject("Scripting.FileSystemObject"); var
newpath = fso.MoveFile("c:\\autoexec.bat",
"d:\\autoexec.bat"); //把C盘的autoexec.bat文件移移动到D盘 --> </SCRIPT> |
To Be Continue!
还有几个属性没写例子,迟点就有了,是否觉得每次都会问你是否运行很麻烦?或者........,想知道如何不用询问就运行?(不要用脚本来破坏别人的系统啊!) 请密切留意
WWW.51JS.COM | | |
|