<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-16  評論-8  文章-30  trackbacks-0
    使用 FileSystemObject (FSO) 對象模式,可以有計劃地處理驅動器和文件夾,就像在 Windows 資源管理器中交互式地處理它們一樣。可以復制和移動文件夾,獲取有關驅動器和文件夾的信息,等等。

    獲取有關驅動器的信息
    可以用 Drive 對象來獲得有關各種驅動器的信息,這些驅動器是實物地或通過網絡連接到系統上的。它的屬性可以用來獲得下面的信息內容:

    • 驅動器的總容量,以字節為單位(TotalSize 屬性)
    • 驅動器的可用空間是多少,以字節為單位(AvailableSpaceFreeSpace 屬性)
    • 哪個號被賦給了該驅動器(DriveLetter 屬性)
    • 驅動器的類型是什么,如可移動的、固定的、網絡的、CD-ROM 或 RAM 磁盤(DriveType 屬性)
    • 驅動器的序列號(SerialNumber 屬性)
    • 驅動器使用的文件系統類型,如 FAT、FAT32、NTFS 等等(FileSystem 屬性)
    • 驅動器是否可以使用(IsReady 屬性)
    • 共享和/或卷的名字(ShareNameVolumeName 屬性)
    • 驅動器的路徑或根文件夾(PathRootFolder 屬性)
    請考察示例代碼,來領會如何在 FileSystemObject 中使用這些屬性。

    Drive 對象的用法示例
    使用 Drive 對象來收集有關驅動器的信息。在下面的代碼中,沒有對實際的 Drive 對象的引用;相反,使用 GetDrive 方法來獲得現有 Drive 對象的引用(在這個例子中就是 drv)。

    下面示例示范了如何在 VBScript 中使用 Drive 對象:

    Sub ShowDriveInfo(drvPath)
      Dim fso, drv, s
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
      s = "Drive " & UCase(drvPath) & " - "
      s = s & drv.VolumeName & "<br>"
      s = s & "Total Space: " & FormatNumber(drv.TotalSize / 1024, 0)
      s = s & " Kb" & "<br>"
      s = s & "Free Space: " & FormatNumber(drv.FreeSpace / 1024, 0)
      s = s & " Kb" & "<br>"
      Response.Write s
    End Sub
    
    下面的代碼說明在 JScript 中實現同樣的功能:
    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.DeleteFileSystemObject.DeleteFolder
    移動文件夾。 Folder.MoveFileSystemObject.MoveFolder
    復制文件夾。 Folder.CopyFileSystemObject.CopyFolder
    檢索文件夾的名字。 Folder.Name
    如果文件夾在驅動器上存在,則找出它。 FileSystemObject.FolderExists
    獲得現有 Folder 對象的實例。 FileSystemObject.GetFolder
    找出文件夾的父文件夾名。 FileSystemObject.GetParentFolderName
    找出系統文件夾的路徑。 FileSystemObject.GetSpecialFolder

    請考察示例代碼,來看看在 FileSystemObject 中使用了多少種這些的方法和屬性。

    下面的示例示范了如何在 VBScript 中使用 FolderFileSystemObject 對象,來操作文件夾和獲得有關它們的信息:

    Sub ShowFolderInfo()
      Dim fso, fldr, s
      ' 獲得 FileSystemObject 的實例。
      Set fso = CreateObject("Scripting.FileSystemObject")
      ' 獲得 Drive 對象。
      Set fldr = fso.GetFolder("c:")
      ' 打印父文件夾名字。
      Response.Write "Parent folder name is: " & fldr & "<br>"
      ' 打印驅動器名字。
      Response.Write "Contained on drive " & fldr.Drive & "<br>"
      ' 打印根文件名。
      If fldr.IsRootFolder = True Then
        Response.Write "This is the root folder." & ""<br>"<br>"
      Else
        Response.Write "This folder isn't a root folder." & "<br><br>" 
      End If
      ' 用 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>"
    End Sub
    
    下面的示例顯示如何在 JScript 中使用 FolderFileSystemObject 對象:
    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>");
    }
    
     

    處理文件
    有兩種主要的文件處理類型:

    • 創建、添加或刪除數據,以及讀取文件
    • 移動、復制和刪除文件
    創建文件
    創建空文本文件(有時被叫做“文本流”)有三種方法。

    第一種方法是用 CreateTextFile 方法。 下面的示例示范了在 VBScript 中如何用這種方法來創建文本文件:

    Dim fso, f1
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
    
    要在 JScript 中用這種方法,則使用下面的代碼:

    var fso, f1;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f1 = fso.CreateTextFile("c:\\testfile.txt", true);
    
    請考察示例代碼,來領會如何在 FileSystemObject 中使用 CreateTextFile 方法。

    創建文本文件的第二種方法是,使用 FileSystemObject 對象的 OpenTextFile 方法,并設置 ForWriting 標志。在 VBScript 中,代碼就像下面的示例一樣:

    Dim fso, ts
    Const ForWriting = 2
    Set fso = CreateObject("Scripting. FileSystemObject")
    Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
    
    要在 JScript 中使用這種方法來創建文本文件,則使用下面的代碼:

    var fso, ts;
    var ForWriting= 2;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
    
    創建文本文件的第三種方法是,使用 OpenAsTextStream 方法,并設置 ForWriting 標志。要使用這種方法,在 VBScript 中使用下面的代碼:

    Dim fso, f1, ts
    Const ForWriting = 2
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile ("c:\test1.txt")
    Set f1 = fso.GetFile("c:\test1.txt")
    Set ts = f1.OpenAsTextStream(ForWriting, True)
    
    在 JScript 中,則使用下面示例中的代碼:

    var fso, f1, ts;
    var ForWriting = 2;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    fso.CreateTextFile ("c:\\test1.txt");
    f1 = fso.GetFile("c:\\test1.txt");
    ts = f1.OpenAsTextStream(ForWriting, true);
    
    添加數據到文件中
    一旦創建了文本文件,使用下面的三個步驟向文件添加數據:

    1. 打開文本文件。
    2. 寫入數據。
    3. 關閉文件。
    要打開現有的文件,則使用 FileSystemObject 對象的 OpenTextFile 方法或 File 對象的 OpenAsTextStream 方法。

    要寫數據到打開的文本文件,則根據下表所述任務使用 TextStream 對象的 WriteWriteLineWriteBlankLines 方法。

    任務方法
    向打開的文本文件寫數據,不用后續一個新行字符。Write
    向打開的文本文件寫數據,后續一個新行字符。WriteLine
    向打開的文本文件寫一個或多個空白行。WriteBlankLines

    請考察示例代碼,來領會如何在 FileSystemObject 對象中使用 WriteWriteLineWriteBlankLines 方法。

    要關閉一個打開的文件,則使用 TextStream 對象的 Close 方法。

    請考察示例代碼,來領會如何在 FileSystemObject 中使用 Close 方法。


    注意  新行字符包含一個或幾個字符(取決于操作系統),以把光標移動到下一行的開始位置(回車/換行)。注意某些字符串末尾可能已經有這個非打印字符了。

    下面的 VBScript 例子示范了如何打開文件,和同時使用三種寫方法來向文件添加數據,然后關閉文件:

    Sub CreateFile()
      Dim fso, tf
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set tf = fso.CreateTextFile("c:\testfile.txt", True)
      ' 寫一行,并且帶有新行字符。
      tf.WriteLine("Testing 1, 2, 3.") 
      ' 向文件寫三個新行字符。      
      tf.WriteBlankLines(3) 
      ' 寫一行。
      tf.Write ("This is a test.") 
      tf.Close
    End Sub
    這個示例示范了在 JScript 中如何使用這三個方法:

    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 對象的 ReadReadLineReadAll 方法。下表描述了不同的任務應使用哪種方法。

    任務方法
    從文件讀取指定數量的字符。Read
    讀取一整行(一直到但不包括新行字符)。ReadLine
    讀取文本文件的整個內容。ReadAll

    請考察示例代碼,來領會如何在 FileSystemObject 中使用 ReadAllReadLine 方法。

    如果使用 ReadReadLine 方法,并且想跳過數據的特殊部分,則使用 SkipSkipLine 方法。read 方法的結果文本存在一個字符串中,該字符串可以顯示在一個控件中,也可以用字符串函數(如 LeftRightMid)來分析,連接等等。

    下面的 VBScript 示例示范了如何打開文件,和如何寫數據到文件中并從文件讀取數據:

    Sub ReadFiles
      Dim fso, f1, ts, s
      Const ForReading = 1
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set 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>"
      Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)
      s = ts.ReadLine
      Response.Write "File contents = '" & s & "'"
      ts.Close
    End Sub
    
    下面的代碼示范了在 JScript 中做同樣的事:

    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.MoveFileSystemObject.MoveFile
    復制文件File.CopyFileSystemObject.CopyFile
    刪除文件File.DeleteFileSystemObject.DeleteFile

    請考察示例代碼,來領會在 FileSystemObject 中刪除文件的兩種方法。

    下面的 VBScript 示例,在驅動器 C 的根目錄中創建一個文本文件,向其中寫一些信息,然后把它移動到 \tmp 目錄中,并在 \temp 中做一個備份,最后把它們從兩個目錄中刪掉。

    要運行下面的示例,需要先在驅動器 C 的根目錄中創建 \tmp 和 \temp 目錄:

    Sub ManipFiles
      Dim fso, f1, f2, s
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
      Response.Write "Writing file <br>"
      ' 寫一行。
      f1.Write ("This is a test.")
      ' 關閉文件。
      f1.Close
      Response.Write "Moving file to c:\tmp <br>"
      ' 獲取 C 的根目錄(C:\)中的文件的句柄。
      Set f2 = fso.GetFile("c:\testfile.txt")
      ' 把文件移動到 \tmp 目錄。
      f2.Move ("c:\tmp\testfile.txt")
      Response.Write "Copying file to c:\temp <br>"
      ' 把文件復制到 \temp 目錄。
      f2.Copy ("c:\temp\testfile.txt")
      Response.Write "Deleting files <br>"
      ' 獲得文件當前位置的句柄。
      Set f2 = fso.GetFile("c:\tmp\testfile.txt")
      Set f3 = fso.GetFile("c:\temp\testfile.txt")
      ' 刪除文件。
      f2.Delete
      f3.Delete
      Response.Write "All done!"
    End Sub
    
    下面的代碼示范了在 JScript 中做同樣的事:

    function ManipFiles()
    {
      var fso, f1, f2, s;
      fso = new ActiveXObject("Scripting.FileSystemObject");
      f1 = fso.CreateTextFile("c:\\testfile.txt", true);
      Response.Write("Writing file <br>");
      // 寫一行。
      f1.Write("This is a test.");
      // 關閉文件。
      f1.Close();
      Response.Write("Moving file to c:\\tmp <br>");
      // 獲取 C 的根目錄(C:\)中的文件的句柄。
      f2 = fso.GetFile("c:\\testfile.txt");
      // 把文件移動到 \tmp 目錄。
      f2.Move ("c:\\tmp\\testfile.txt");
      Response.Write("Copying file to c:\\temp <br>");
      // 把文件復制到 \temp 目錄。
      f2.Copy ("c:\\temp\\testfile.txt");
      Response.Write("Deleting files <br>");
      // 獲得文件當前位置的句柄。
      f2 = fso.GetFile("c:\\tmp\\testfile.txt");
      f3 = fso.GetFile("c:\\temp\\testfile.txt");
      // 刪除文件。
      f2.Delete();
      f3.Delete();
      Response.Write("All done!");
    }
    
    posted on 2005-06-10 15:07 楚客 閱讀(315) 評論(0)  編輯  收藏 所屬分類: HTML
    主站蜘蛛池模板: 亚洲av无码成h人动漫无遮挡| 亚洲А∨精品天堂在线| 亚洲一区二区三区首页| 好猛好深好爽好硬免费视频| 久久久久亚洲av成人无码电影| 四虎国产精品成人免费久久| 亚洲JIZZJIZZ中国少妇中文| 一级毛片正片免费视频手机看| 免费国内精品久久久久影院| 成人a毛片免费视频观看| 国产亚洲精品线观看动态图| 中文字幕免费在线观看动作大片| 久久乐国产精品亚洲综合| 99精品视频在线观看免费| 亚洲丁香色婷婷综合欲色啪| 99热在线精品免费播放6| 亚洲国产精品张柏芝在线观看| 女性自慰aⅴ片高清免费| 国产成人高清亚洲一区91| 亚洲精品97久久中文字幕无码| 国产在线观a免费观看| 亚洲国产高清在线| 手机看黄av免费网址| 自拍偷自拍亚洲精品偷一| 亚洲熟伦熟女新五十路熟妇| 久操免费在线观看| 亚洲字幕AV一区二区三区四区| 四虎在线播放免费永久视频 | 久久一区二区免费播放| 亚洲AV人无码激艳猛片| 18禁超污无遮挡无码免费网站国产| 亚洲成av人片在线天堂无| 国产精品亚洲视频| 狼群影院在线观看免费观看直播| 亚洲国产aⅴ成人精品无吗| 亚洲色偷偷综合亚洲AV伊人| 777成影片免费观看| 男女猛烈xx00免费视频试看| 亚洲国产日韩一区高清在线 | 最近最新中文字幕完整版免费高清| 二级毛片免费观看全程|