`
chengyu2099
  • 浏览: 471475 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JS IO fileSystemObject

阅读更多
  <script type="text/javascript">
  	function delImageName(albumID_imageName)
  	{
  		var albumID,imageName;
  		var ai = albumID_imageName.split(":");
  		for(var i=0;i<ai.length;i++)
  		{
  			albumID = ai[0];
  			imageName = ai[i];
  		}
// 		alert('删除照片:'+albumID+' '+imageName);
 		var fso = new ActiveXObject("Scripting.FileSystemObject");
 		var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
 		photo.Delete();
 		window.location.reload();
//  	document.cookie = "delAlbumID="+albumID;
//  	document.cookie = "delImageName="+imageName;
  	}
  </script>



  FileSystemObject 对象

  FileSystemObject 对象

FileSystemObject(FSO) 对象模式包含下面的对象和集合。
对象/集合 	描述
FileSystemObject 	主对象。包含用来创建、删除和获得有关信息,以及通常用来操作驱动器、文件夹和文件的方法和属性。和该对象相关联的许多方法,与其他 FSO 对象中的方法完全相似;它
们是为了方便才被提供的。
Drive 	对象。包含用来收集信息的方法和属性,这些信息是关于连接在系统上的驱动器的,如驱动器的共享名和它有多少可用空间。请注意,"drive" 并非必须是硬盘,也可以是 CD-ROM 驱动器
,RAM 磁盘等等。并非必须把驱动器实物地连接到系统上;它也可以通过网络在逻辑上被连接起来。
Drives 	集合。提供驱动器的列表,这些驱动器实物地或在逻辑上与系统相连接。Drives 集合包括所有驱动器,与类型无关。要可移动的媒体驱动器在该集合中显现,不必把媒体插入到驱动器中。
File 	对象。包含用来创建、删除或移动文件的方法和属性。也用来向系统询问文件名、路径和多种其他属性。
Files 	集合。提供包含在文件夹内的所有文件的列表。
Folder 	对象。包含用来创建、删除或移动文件夹的方法和属性。也用来向系统询问文件夹名、路径和多种其他属性。
Folders 	集合。提供在 Folder 内的所有文件夹的列表。
TextStream 	对象。用来读写文本文件。

 

创建对象: var fso = new ActiveXObject("Scripting.FileSystemObject");
对象方法:创建文件CreateTextFile("d:\\text.txt")
                 一种: f1 = fso.CreateTextFile("c:\\testfile.txt", true);
                 二种: ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
                 三种: fso.CreateTextFile ("c:\\test1.txt");
                                     f1 = fso.GetFile("c:\\test1.txt");
                                    ts = f1.OpenAsTextStream(ForWriting, true);
               创建目录CreateFolder('d:\\ddd')
              其它方法    GetDrive , GetFolder ,  GetFile  

 

可以用 Drive 对象来获得有关各种驱动器的信息,这些驱动器是实物地或通过网络连接到系统上的。它的属性可以用来获得下面的信息内容:

    * 驱动器的总容量,以字节为单位(TotalSize 属性)
    * 驱动器的可用空间是多少,以字节为单位(AvailableSpace 或 FreeSpace 属性)
    * 哪个号被赋给了该驱动器(DriveLetter 属性)
    * 驱动器的类型是什么,如可移动的、固定的、网络的、CD-ROM 或 RAM 磁盘(DriveType 属性)
    * 驱动器的序列号(SerialNumber 属性)
    * 驱动器使用的文件系统类型,如 FAT、FAT32、NTFS 等等(FileSystem 属性)
    * 驱动器是否可以使用(IsReady 属性)
    * 共享和/或卷的名字(ShareName 和 VolumeName 属性)
    * 驱动器的路径或根文件夹(Path 和 RootFolder 属性)
    * function ShowDriveInfo1(drvPath)
      {
         var fso, drv, s ="";
         fso = new ActiveXObject("Scripting.FileSystemObject");
         drv = fso.GetDrive(fso.GetDriveName(drvPath));
         s += "Drive " + drvPath.toUpperCase()+ " - ";
         s += drv.VolumeName + "<br>";
         s += "Total Space: " + drv.TotalSize / 1024;
         s += " Kb" + "<br>";
         s += "Free Space: " + drv.FreeSpace / 1024;
         s += " Kb" + "<br>";
         Response.Write(s);
      }

处理文件夹

在下面的表中,描述了普通的文件夹任务和执行它们的方法。

任务 	方法
创建文件夹。 	FileSystemObject.CreateFolder
删除文件夹。 	Folder.Delete 或 FileSystemObject.DeleteFolder
移动文件夹。 	Folder.Move 或 FileSystemObject.MoveFolder
复制文件夹。 	Folder.Copy 或 FileSystemObject.CopyFolder
检索文件夹的名字。 	Folder.Name
如果文件夹在驱动器上存在,则找出它。 	FileSystemObject.FolderExists
获得现有 Folder 对象的实例。 	FileSystemObject.GetFolder
找出文件夹的父文件夹名。 	FileSystemObject.GetParentFolderName
找出系统文件夹的路径。 	FileSystemObject.GetSpecialFolder

function ShowFolderInfo()
{
   var fso, fldr, s = "";
   // 获得 FileSystemObject 的实例。
   fso = new ActiveXObject("Scripting.FileSystemObject");
   // 获得 Drive 对象。
   fldr = fso.GetFolder("c:");
   // 打印父文件夹名。
   Response.Write("Parent folder name is: " + fldr + "<br>");
   // 打印驱动器名字。
   Response.Write("Contained on drive " + fldr.Drive + "<br>");
   // 打印根文件名。
   if (fldr.IsRootFolder)
      Response.Write("This is the root folder.");
   else
      Response.Write("This folder isn't a root folder.");
   Response.Write("<br><br>");
   // 用 FileSystemObject 对象创建新的文件夹。
   fso.CreateFolder ("C:\\Bogus");
   Response.Write("Created folder C:\\Bogus" + "<br>");
   // 打印文件夹的基本名。
   Response.Write("Basename = " + fso.GetBaseName("c:\\bogus") + "<br>");
   // 删除新创建的文件夹。
   fso.DeleteFolder ("C:\\Bogus");
   Response.Write("Deleted folder C:\\Bogus" + "<br>");
}

添加数据到文件中

一旦创建了文本文件,使用下面的三个步骤向文件添加数据:

打开文本文件。

写入数据。

关闭文件。

要打开现有的文件,则使用 FileSystemObject 对象的 OpenTextFile 方法或 File 对象的 OpenAsTextStream 方法。

要写数据到打开的文本文件,则根据下表所述任务使用 TextStream 对象的 Write、WriteLine 或 WriteBlankLines 方法。
任务	方法
向打开的文本文件写数据,不用后续一个新行字符。	Write
向打开的文本文件写数据,后续一个新行字符。	WriteLine
向打开的文本文件写一个或多个空白行。	WriteBlankLines

要关闭一个打开的文件,则使用 TextStream 对象的 Close 方法。

注意  新行字符包含一个或几个字符(取决于操作系统),以把光标移动到下一行的开始位置(回车/换行)。注意某些字符串末尾可能已经有这个非打印字符了。

function CreateFile() {    var fso, tf;    fso = new ActiveXObject("Scripting.FileSystemObject");    tf = fso.CreateTextFile("c:\\testfile.txt", true);    // 写一行,并且带
有新行字符。    tf.WriteLine("Testing 1, 2, 3.") ;    // 向文件写三个新行字符。    tf.WriteBlankLines(3) ;    // 写一行。    tf.Write ("This is a test.");    tf.Close(); }
读取文件

要从文本文件读取数据,则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。

任务	方法
从文件读取指定数量的字符。	Read
读取一整行(一直到但不包括新行字符)。	ReadLine
读取文本文件的整个内容。	ReadAll

如果使用 Read 或 ReadLine 方法,并且想跳过数据的特殊部分,则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中,该字符串可以显示在一个控件中,也可以用字符串函数
(如 Left、Right 和 Mid)来分析,连接等等。

function ReadFiles() {    var fso, f1, ts, s;    var ForReading = 1;    fso = new ActiveXObject("Scripting.FileSystemObject");    f1 = fso.CreateTextFile("c:\\testfile.txt", 
true);    // 写一行。    Response.Write("Writing file <br>");    f1.WriteLine("Hello World");    f1.WriteBlankLines(1);    f1.Close();    // 读取文件的内容。    
Response.Write("Reading file <br>");    ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);    s = ts.ReadLine();    Response.Write("File contents = '" + s + "'");    
ts.Close(); }
移动、复制和删除文件

FSO 对象模式各有两种方法移动、复制和删除文件,如下表所述。

任务	方法
移动文件	File.Move 或 FileSystemObject.MoveFile
复制文件	File.Copy 或 FileSystemObject.CopyFile
删除文件	File.Delete 或 FileSystemObject.DeleteFile


  <script type="text/javascript">
  	var albumID,imageName;
  	function delImageName(albumID_imageName)
  	{
  		var albumID,imageName;
  		var ai = albumID_imageName.split(":");
  		for(var i=0;i<ai.length;i++)
  		{
  			albumID = ai[0];
  			imageName = ai[i];
  		}
  		
// 		alert('删除照片:'+albumID+' '+imageName);
 		var fso = new ActiveXObject("Scripting.FileSystemObject");
 		var path = 'd:\\upload\\del\\'+albumID+'\\';
 		//alert('path='+path);
		var folderEx = fso.FolderExists(path);
		//alert(folderEx)
		if(folderEx)
		{
			var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
 			photo.Move(path);
		}else
		{	
			var albumIdD=albumID;
			fso.CreateFolder("d:\\upload\\del\\");
			fso.CreateFolder("d:\\upload\\del\\"+albumIdD+"\\");
			var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
			photo.Move(path);
		}
 		
		window.location.reload();
// 		photo.Delete(); 物理删除 ^ ^ 
//		删除图片 (把图片移动到另外一个文件夹 已转移 实现 隐式 删除 的功能
  	}
// ajax 实现 图片 置顶
	var XMLHR;
	function createXMLHttpRequest()
	 {
		if(window.ActiveXObject){
			try{
				XMLHR=new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				XMLHR=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else if(window.XMLHttpRequest)
		{
			XMLHR=new XMLHttpRequest();
		}
	 }
  	function showTop(IdName)
  	{
  		createXMLHttpRequest();
	    var url="showTopPhoto.action"
	    XMLHR.open("post",url,true);
	    XMLHR.setRequestHeader("content-Type","application/x-www-form-urlencoded");
		XMLHR.onreadystatechange=ShowTopCallBack;
	    XMLHR.send("IdName="+IdName);
  	}
  	function ShowTopCallBack()
	 {
		if(XMLHR.responseText == 'true'){
			if(XMLHR.readyState == 4)
		     	{
		     		if(XMLHR.status == 200)
		     		{
		     			window.parent.showReload();
		 			}
		 		}
		  }else{alert('请稍后再试 .. ');}
	  }
  </script>
分享到:
评论

相关推荐

    javascript操作IO流

    ### JavaScript操作IO流:利用FileSystemObject对象实现文件系统交互 #### 一、核心概念与对象:FileSystemObject 在JavaScript中,实现对文件系统的操作主要依赖于`FileSystemObject`(简称FSO)对象。该对象是...

    【windows 脚本系列】12.使用档案系统fso与IO命令

    ### 使用档案系统FSO与IO命令 #### 一、Windows Script Host (WSH) 概述 Windows Script Host (WSH) 是一个强大的自动化工具,适用于执行重复性任务。它支持多种脚本语言如 VBScript 和 JScript,使得开发者能够...

    遍历检查文件夹所有文件list及MD5 check sum

    1. 文件系统对象(FileSystemObject):VB.NET中,我们可以使用`Microsoft.VisualBasic.FileIO.FileSystem`类或`System.IO`命名空间中的类来访问和操作文件系统。`Directory.GetFiles`方法可以用来获取指定目录下的...

    ActiveXObject和Clob字段的插入更新

    var file = new ActiveXObject("Scripting.FileSystemObject"); var textFile = file.OpenTextFile("path/to/file.txt", 1); var content = textFile.ReadAll(); textFile.Close(); } ``` 接下来,我们来讨论...

    《Web技术与应用》教学大纲.docx

    第六部分,.Net框架类库,讲解了如何使用FileSystemObject对象和.NET Framework的System.IO命名空间进行文件和目录的操作。学生需熟练掌握这两套方法,以便在服务器端进行文件操作。 通过这门课程,学生不仅能够...

    列出目录中所有文件(含文件夹)

    例如,Python的`os`和`os.path`模块,Java的`java.io.File`类,Node.js的`fs`模块,都可以实现这一功能。 总之,列出目录中所有文件(含文件夹)是一项基础但重要的任务,它涉及文件系统操作、编程语言的文件I/O...

    ZK中使用JS读取客户端txt文件内容问题

    在描述中提到,开发者最初尝试使用IO流来读取文件,但很快意识到这将读取服务器上的文件,而非客户端的。接着,他发现大部分解决方案是让用户先上传文件到服务器,然后由服务器处理文件内容。这种方法虽然可行,但并...

    ASP源码—整站文件备份系统ASPWebPack.zip

    ASP提供了File对象和FileSystemObject,用于处理文件和目录操作,如复制、移动、创建和删除文件。 3. **数据库备份**:如果网站使用了数据库(如SQL Server或Access),备份系统会包含数据库备份的代码。这通常涉及...

    Windows Script Host (WSH) 脚本对象编程

    - **语言特性**:介绍JScript的基础语法,与JavaScript的主要区别。 - **兼容性**:讨论JScript在不同Windows版本中的支持情况。 #### 6. 在WSH中建立简单的对话盒 - **创建消息框**:使用`WScript.Echo`或`MsgBox`...

    word2doc.zip_文件操作_Visual_Basic_

    在VB中进行文件操作,包括读取、写入、创建、删除等,通常通过FileSystemObject或者流(Stream)对象来实现。 在描述中提到的"将word内容转换成图片",这是一种技术手段,用于在网络环境下展示Word文档。由于Web应用...

    C#遍历文件夹后上传文件夹中所有文件错误案例分析

    在尝试使用JavaScript遍历文件夹时,由于安全限制,通常需要借助ActiveXObject(如`Scripting.FileSystemObject`)来操作文件系统,但这需要用户具有足够的权限,因此不推荐在跨域或安全性较高的环境中使用。...

Global site tag (gtag.js) - Google Analytics