JavaScript 文件操作方法详解

摘要:
--˃是不是发现你C盘的test.txt文件不见呢?--varfso=newActiveXObject;varnewpath=fso.BuildPath;//生成c:mp51js.txt的路径alert;--˃CopyFile//复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖CreateFolder(目录名)//创建一个新的目录DeleteFile(文件名,只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true˂!

可以通过浏览器在访问者的硬盘上创建文件,因为我开始试了一下真的可以,不信你把下面这段代码COPY到一个HTML文件当中再运行一下!

<scriptlanguage="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("c:\test.txt",true);//请注意啊!把test.txt改为你C盘中的其它文件名,你不改也可以!先把test.txt备份啊!
-->
</script>

是不是发现你C盘的 test.txt文件不见呢?呵呵其实当那个文件运行时IE会提醒你当前使用的ActiveX控件不安全,询问你是否运行,但由于你和我一样迫切想试试究 竟效果如何,因此你会毫不犹疑的按下[确定]….其实这是使用了FileSystemObject来实现的,要了解更详细的用法与例子的话,点这里 下载JScript的中文说明文档或者买本<<深入学习:JavaScript开发与实例>>也可以看看无忧脚本整理的 例子,让大家学习学习.让我们先来看看有什么属性与函数可用,后面会对部分函数做些小例子

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(路径,文件名)//这个方法会对给定的路径加上文件,并自动加上分界符

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
varnewpath=fso.BuildPath("c:\tmp","51js.txt");//生成c:	mp51js.txt的路径
alert(newpath);
-->
</SCRIPT>

CopyFile(源文件,目标文件,覆盖)//复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
varnewpath=fso.CopyFile("c:\test.txt","d:\autoexec.bak");
-->
</SCRIPT>

CopyFolder(对象目录,目标目录,覆盖)//复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop","d:\");//把C盘的Desktop目录复制到D盘的根目录
-->
</SCRIPT>

CreateFolder(目录名)//创建一个新的目录

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
varnewFolderName=fso.CreateFolder("c:\51JS");//在C盘上创建一个51JS的目录
-->
</SCRIPT>

CreateTextFile(文件名,覆盖)//创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
varnewFileObject=fso.CreateTextFile("c:\autoexec51JS.bat",true);//脚本将在C盘创建一个叫autoexec51JS.bat的文件
-->
</SCRIPT>

DeleteFile(文件名,只读?)//删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");//为了安全我先把要删除的test.txt备份到你的D盘
varnewpath=fso.CopyFile("c:\test.txt","d:\test.txt");//把C盘的test.txt文件删除掉
fso.DeleteFile("c:\test.txt",true);
-->
</SCRIPT>

DeleteFolder(文件名,只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop","d:\");//为了安全我先把你C盘的Desktop目录复制到你D盘的根目录
fso.DeleteFolder("c:\WINDOWS\Desktop",true);//把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但.........
-->
</SCRIPT>

DriveExists(盘符)//检查一个盘是否存在,如果存在就返会真,不存在就返回…….

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
hasDriveD=fso.DriveExists("d");//检查系统是否有D盘存在
hasDriveZ=fso.DriveExists("z");//检查系统是否有Z盘存在
if(hasDriveD)alert("你的系统内有一个D盘");
if(!hasDriveZ)alert("你的系统内没有Z盘");
-->
</SCRIPT>

FileExists(文件名)//检查一个文件是否存在,如果存在就返会真,不存在就返回…….

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
fileName=fso.FileExists("c:\test.txt");
if(fileName)alert("你在C盘中有test.txt文件,按下确定后这个文件将被删除!");//开个玩笑:)
-->
</SCRIPT>

FolderExists(目录名)//检查一个目录是否存在,如果存在就返会真,不存在就返回…….

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
folderName=fso.FolderExists("c:\WINDOWS\Fonts");
if(folderName)alert("按下确定后系统的字库将被删除!");//开个玩笑:)
-->
</SCRIPT>

GetAbsolutePathName(文件对象)//返回文件对象在系统的绝对路径

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
pathName=fso.GetAbsolutePathName("c:\test.txt");
alert(pathName);
-->
</SCRIPT>

GetBaseName(文件对象)//返回文件对象的文件名

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
baseName=fso.GetBaseName("c:\test.txt");//取得test.txt的文件名autoexec
alert(baseName);
-->
</SCRIPT>

GetExtensionName(文件对象)//文件的后缀

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
exName=fso.GetExtensionName("c:\test.txt");//取得test.txt后缀bat
alert(exName);
-->
</SCRIPT>

GetParentFolderName(文件对象)//取得父级的目录名

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
parentName=fso.GetParentFolderName("c:\test.txt");//取得test.txt的父级目录C盘
alert(parentName);
-->
</SCRIPT>

GetSpecialFolder(目录代码)//取得系统中一些特别的目录的路径,目录代码有3个分别是0:安装Window的目录1:系统文件目录2:临时文件目录

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
tmpFolder=fso.GetSpecialFolder(2);//取得系统临时文件目录的路径如我的是C:windows	emp
alert(tmpFolder);
-->
</SCRIPT>

GetTempName()//生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成*.tmp

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
tmpName=fso.GetTempName();//我在测试时就生成了radDB70E.tmp
alert(tmpName);
-->
</SCRIPT>

MoveFile(源文件,目标文件)//把源文件移到目标文件的位置

<SCRIPTLANGUAGE="JavaScript">
<!--
varfso=newActiveXObject("Scripting.FileSystemObject");
varnewpath=fso.MoveFile("c:\test.txt","d:\test.txt");//把C盘的test.txt文件移移动到D盘
-->
</SCRIPT>

ToBeContinue!还有几个属性没写例子,迟点就有了,是否觉得每次都会问你是否运行很麻烦?或者……..,想知道如何不用询问就运行?(不要用脚本来破坏别人的系统啊!)
用JavaScript操作文件系统创建快捷方式

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<TITLE>用JavaScript创建快捷方式</TITLE>
<METANAME="Generator"CONTENT="EditPlus">
<METANAME="Author"CONTENT="">
<METANAME="Keywords"CONTENT="">
<METANAME="Description"CONTENT="">
</HEAD>
<scriptlanguage="javascript">
functioncreateLink(){
varfso=newActiveXObject("Scripting.FileSystemObject");
varshell=newActiveXObject("WScript.Shell");
vartagFolder="c:\link";
if(!fso.FolderExists(tagFolder))
{
fso.CreateFolder(tagFolder);
alert("Createsuccess!");
}
if(!fso.FileExists(tagFolder+"\eip.lnk"))
{
varlink=shell.CreateShortcut(tagFolder+"\eip.lnk");
link.Description="打开一个程序的快捷方式";
link.TargetPath="C:\ProgramFiles\FlashFXP\flashfxp.exe";
link.WindowStyle=3;
link.WorkingDirectory="C:\ProgramFiles\FlashFXP";
link.Save();
}
}
</script>
<BODY>
<inputtype="button"value="clickme"onclick="createLink();"/>
</BODY>
</HTML>
来自:http://www.codeceo.com/article/javascript-file-operate.html

免责声明:文章转载自《JavaScript 文件操作方法详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇获取IPLog4j使用总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JavaScript高级程序设计(一):JavaScript简介

一、JavaScript实现   1、一个完整的JavaScript包含三个部分组成:     1)ECMAScript 核心     2)DOM文档对象模型     3)BOM浏览器对象模型   2、文档对象模型(DOM)   文档对象模型是针对XML单经过扩展用户HTML的应用程序编程接口。DOM 把整个页面映射为一个多层节点结构。HTML或XML页面中...

Javascript诞生与历史

基本常识 Brendan Eich在1995年4月入职Netscape Communications Corporation(网景通信公司)。并于1995年5月用10天时间发明了Javascript。 Javascript语言特点 借鉴c语言的基本语法 借鉴Java语言的数据类型和内存管理 借鉴Scheme语言,将函数提升到“第一等公民”(first c...

Vs 2008 解决方案的目录结构设置和管理(转)

http://blog.csdn.net/lcj_cjfykx/article/details/8632459 MS的这个IDE,实在庞杂得恐怖。从大学开始,我就一直用VC的各个版本写程序至今,细细想来,也仅仅是窥豹一斑,羞愧不已。但若仔细翻阅文档,又觉得时间花得不值,于是便一直凑活地用着。 前段时间负责搭建新项目的开发环境,兼一直在看Gamebryo的...

linux学习9 运维基本功-Linux常用基础命令实战应用

一、文件系统知识回顾 1、Linux文件系统: a、文件名称严格区分字符大小写 b、文件可以使用除/以外任意字符 c、文件名长度不能超过255个字符 d、以.开头的文件为隐藏文件: . :当前目录 .. :当前目录的上一级目录 2、linux目录 a、工作目录:working directory b、家目录 二、常用命令 1、pwd:printing wo...

Eclipse安装插件的两种方法(转)

本文介绍Eclipse插件的安装方法。Eclipse插件的安装方法大体有三种:直接复制、使用link文件,以及使用eclipse自带的图形界面的插件安装方法。 AD: 做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。一个好的插件可以大大的提高我们的工作效率,学习如何安装Eclipse插件自然也是必修课了。下面介绍Ecl...

Ubuntu9.10下 php(FastCGI PHPFPM)+Nginx+.........

ubuntu安装部分省略N.M.P 下面开始安装编译安装php nginx等所需要包(有的是在ubuntu的源里有的是自己下载源代码编译安装) 一、安装build-essential(包括gcc c++(g++)等)、 autoconf、 automake、 m4 apt-get install build-essential autoconf autom...