js 操作文件和文件夹

js 操作文件和文件夹

在用javascript操作本地文件的时候,可以使用Scripting.FileSystemObject控件读写本地文件和文件夹。

常用属性和方法:

方法或者属性 描述 
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() 打开一个文件流 

详细操作见: http://software.it168.com/manual/vbs/  (《FileSystemObject 用户指南》和《Scripting 运行时库参考》)

1、创建和删除文件夹:

// 创建存放sep缓存文件的本地文件夹
	function checkLocal(){
		var strFolder = "c:\\test";
		var objFSO = new ActiveXObject("Scripting.FileSystemObject");
		// 检查文件夹是否存在
		if (!objFSO.FolderExists(strFolder)){
   			// 创建文件夹
   			var strFolderName = objFSO.CreateFolder(strFolder);
   			alert("创建文件夹: " + strFolderName + "<br>");
		}
		// 检查文件夹是否存在
		if(objFSO.FolderExists(strFolder)){
   			document.write("文件夹: " + strFolder + "存在<br>");
   			// 删除文件夹
   			objFSO.DeleteFolder(strFolder, false);
   			alert("删除文件夹: " + strFolder + "成功<br>");
		}else{
   			alert("文件夹不存在<br>");
   		}
	}

2、检测盘符是否存在

// 检测盘符是否存在
function isDriverExsits(driver){
	var objFSO = new ActiveXObject("Scripting.FileSystemObject");
	if(objFSO.DriveExists(driver)){// driver:"c:"
		alert(driver+"盘符存在");
	}else{
		alert(driver+"盘符不存在");
	}
}

3、获取文件路径的驱动器名

// 获取文件路径的驱动器名
function getDriverName(path){
	var objFSO = new ActiveXObject("Scripting.FileSystemObject");
	var driverName = objFSO.GetDriveName(path);
	alert(driverName);
}

4、创建文件

function createFile(){
	var objFSO = new ActiveXObject("Scripting.FileSystemObject");
	var file = objFSO.CreateTextFile("d:\\test.txt",true);// 第二个参数表示文件存在,则覆盖
	
	file.write("第一行");
	file.writeBlankLines(2);// 写2个空白行,相当于2次回车
	file.WriteLine("第二行");
	file.close();
	delete file;
	delete fso;
}

 

5、打开并读取文件

function openFile(){
	var objFSO = new ActiveXObject("Scripting.FileSystemObject");
	var file = objFSO.openTextFile("d:\\test.txt",1,false);// 第二参数:1表示只读;2表示只写;8:追加 第三个参数:文件不存在是否创建
	/*
	* file.Skip(num) :将当前位置向后num个字符
	* file.SkipLine() :将当前位置移动到下一行的第一个字符,注意:无参数
	* file.Read(num) :从当前位置向后读取num个字符,并将当前位置向后移num个字符
	* file.ReadLine() :从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数
	* file.ReadAll() :从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后
	* file.atEndOfLine :判断是否是最后一行
	* file.atEndOfStream 判断是否是文件的结尾
 	* -- 其他参见:http://software.it168.com/manual/vbs/ 中的《FileSystemObject 用户指南》 
	*/
	document.write(file.ReadAll());
}

6、复制、移动文件

function copyAndMoveFile(){
	var file = "d:\\test.txt";
	var objFSO = new ActiveXObject("Scripting.FileSystemObject");
	if(!objFSO.FileExists(file)){
		alert("文件不存在");
		return;
	}
	// 复制
	objFSO.CopyFile(file,"e:\\");
	// 移动
	objFSO.MoveFile(file,"f:\\");
	
	delete fso;
}

7、在使用Scripting.FileSystemObject控件的时候,可能出现异常:“Automation 服务器不能创建对象

产生原因是:

IE默认是不允许运行这类“未标记为安全执行脚本的ActiveX控件”的。

解决办法:

IE -> Internet选项 -> 安全 -> 自定义级别 -> ActiveX控件和插件 -> 对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本(不安全) -> 启用

(Internet 和 可信站点 中的“自定义级别”都要修改)

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值