<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
    主站蜘蛛池模板: 亚洲影视一区二区| 亚洲国产一区在线| 美女免费精品高清毛片在线视| 成年人网站在线免费观看| 亚洲va在线va天堂成人| 99久久99久久精品免费看蜜桃 | 亚洲精品无码你懂的网站| 老司机午夜精品视频在线观看免费| 国产特级淫片免费看| 美女羞羞视频免费网站| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 色老头综合免费视频| 亚洲片国产一区一级在线观看| 搜日本一区二区三区免费高清视频| 亚洲国产一区二区三区| a毛片免费在线观看| 亚洲日本va午夜中文字幕一区| 8x8x华人永久免费视频| 亚洲入口无毒网址你懂的| 日韩免费高清视频网站| 暖暖免费中文在线日本| 亚洲s色大片在线观看| 1000部禁片黄的免费看| 亚洲另类无码一区二区三区| 免费一级大黄特色大片| 成人无码WWW免费视频| 亚洲av永久无码精品天堂久久| 国产精品成人无码免费| 精品久久久久久无码免费| 亚洲综合久久成人69| 精品国产免费一区二区| 高清永久免费观看| 亚洲国产日韩在线人成下载| 韩国日本好看电影免费看| 西西人体免费视频| 亚洲一区二区三区久久| 亚洲精品一级无码中文字幕| 久久久久久曰本AV免费免费| 免费一区二区无码视频在线播放| 亚洲a在线视频视频| 日本媚薬痉挛在线观看免费|