Dateizugriffskomponente |
Zusätzlich zu den nativen ASP-Objekten (Request, Response usw.) und den verschiedenen installierbaren Komponenten (Ad Rotator, Browser Capabilities usw.) steht Ihnen auch eine dritte Objektgruppe zur Verfügung. Diese Objekte werden direkt von der DLL-Datei von Microsoft Scripting Runtime (scrrun.dll) instanziiert. Diese DLL-Datei enthält Funktionen, die weder in den nativen ASP-Objekten noch in der VBScript-Laufzeitumgebung selbst (vbscript.dll) verfügbar sind. Mit Hilfe der DLL-Skriptdatei können Sie Objekte instanziieren, die Ihre Anwendung um zahlreiche Dateiverarbeitungsfunktionen erweitern. (Mit dieser DLL können Sie auch ein Dictionary-Objekt erstellen, das die Ausführung von kollektionsähnlichen Funktionen ermöglicht, auch wenn keine echten Kollektionen vorhanden sind.) Alle Dateiverarbeitungsvorgänge werden vom Objekt FileSystemObject ausgeführt. Ihre Anwendung enthält nur eines dieser Objekte, das für die Anwendung eine Art "Fenster" für die Dateistrukturen des Systems bietet. Mit diesem Objekt lassen sich zwar auch einige einfache Funktionen ausführen, wie das Öffnen und Schließen von Dateien, doch das echte Leistungspotenzial des Objekts besteht darin, dass es die Instanziierung der anderen Objekte für die Dateiverarbeitung ermöglicht: Drive, Folder und File (Laufwerk, Ordner und Datei). Mit diesen Objekten verfügt Ihre Anwendung praktisch über dieselben Steuerungsmöglichkeiten für das Dateisystem wie bei Verwendung einer Befehlszeilenoberfläche.

Zubehördateien/Erforderliche DLL-Dateien |
Scrrun.DLL Die dynamische Bibliothek, die alle Skriptobjekte enthält. Diese DLL wird standardmäßig installiert, wenn Sie IIS 4.0 auf dem Webserver installieren.

Installierbare Komponenten für die Instanziierung |
Um eine Objektvariable zu erstellen, die eine Instanz der Komponente FileSystemObject enthält, verwenden Sie die Methode CreateObject des Objekts Server. Die Syntax für die Methode CreateObject lautet wie folgt:
    Set objMyObject = Server.CreateObject(strProgId)
Dabei gilt Folgendes: objMyObject ist der Name der Variablen FileSystemObject. strProgId ist die Programmkennung (ProgID) für die Komponente FileSystemObject, das heißt Scripting.FileSystemObject. Beispiel
    <%

    ' The following code uses the CreateObject method of
    ' the Server object to instantiate a FileSystemObject.
    Dim fsFileSystemObject
    Set fsFileSystemObject = _
       Server.CreateObject("Scripting.FileSystemObject")

    %>
Weitere Informationen zur Verwendung der Methode CreateObject finden Sie im entsprechenden Eintrag inKapitel 9.

Anmerkungen/Fehlerbehebung |
Die Dateizugriffskomponenten von scrrun.dll lassen sich einfach verwenden. Wenn Fehler auftreten, geben die verschiedenen Eigenschaften und Methoden Fehlermeldungen zurück, die weitgehend den Fehlermeldungen entsprechen, die bei der Dateibearbeitung über die Befehlszeile ausgegeben werden. Wenn Sie beispielsweise versuchen, einen Lese-/Schreibvorgang über das Diskettenlaufwerk des Computers auszuführen, aber keine Diskette eingelegt ist, werden Sie in einer Fehlermeldung darauf hingewiesen, dass das Diskettenlaufwerk nicht betriebsbereit ist.

AtEndOfLine (TextStream-Objekt) |
tsObj.AtEndOfLine
Ein Boolescher Wert, der angibt, ob der Dateizeiger sich am Ende der aktuellen Zeile befindet. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
Mit dem folgenden Code werden die Objekte FileSystemObject und TextStream instanziiert. Dann wird die Methode Read verwendet, um nacheinander alle Zeichen zu lesen, bis das Ende der Zeile erreicht ist. Beachten Sie, dass die Verwendung der Eigenschaft AtEndOfStream mit der Verwendung der Eigenschaft AtEndOfLine identisch ist.
    <%

    ' Set up constants.
    Const constForReading       = 1
    Const constTristateFalse    = 0

    ' Dimension local variables.
    Dim fsoObject     ' FileSystemObject
    Dim tsObject      ' TextStream Object
    Dim strReturned   ' String variable to hold file contents

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the OpenTextFile method of fsoObject,
    ' create a text file.
    Set tsObject = _
        fsoObject.OpenTextFile("d:\docs\test.txt", _
        constForReading, constTristateFalse)

    ' Read one character at a time until the end of the
    ' line has been reached.
    Do While Not tsObject.AtEndOfLine
       StrReturned = strReturned & tsObject.Read(1)
    Loop
    . . . [additional code]

    %>
Hinweise
Wenn Sie versuchen, die Eigenschaft AtEndOfLine zu verwenden, während eine Textdatei zu einem anderen Zweck als dem Lesen geöffnet ist, wird ein Fehler ausgegeben. Die Eigenschaft AtEndOfLine weist Sie nicht darauf hin, dass das Ende der Datei erreicht wurde.

AtEndOfStream (TextStream-Objekt) |
tsObj.AtEndOfStream
Ein Boolescher Wert, der anzeigt, ob das Ende der aktuellen Textdatei erreicht wurde. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
Mit dem folgenden Code werden die Objekte FileSystemObject und TextStream instanziiert. Dann wird die Methode Read verwendet, um nacheinander alle Zeichen zu lesen, bis das Ende der Datei erreicht ist. Beachten Sie, dass die Verwendung der Eigenschaft AtEndOfStream mit der Verwendung der Eigenschaft AtEndOfLine identisch ist.
    <%

    ' Set up constants.
    Const constForReading      = 1
    Const constTristateFalse    = 0

    ' Dimension local variables.
    Dim fsoObject     ' FileSystemObject
    Dim tsObject      ' TextStream Object
    Dim strReturned   ' String variable to hold file contents.

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the OpenTextFile method of fsoObject, create
    ' a text file.
    Set tsObject = _
        fsoObject.OpenTextFile("d:\docs\test.txt", _
        constForReading, constTristateFalse)

    ' Read one character at a time until the end of the
    ' file has been reached
    Do While Not tsObject.AtEndOfStream
       StrReturned = strReturned & tsObject.Read(1)
    Loop
    . . . [additional code]

    %>
Hinweise
Wenn Sie versuchen, die Eigenschaft AtEndOfStream zu verwenden, während eine Textdatei zu einem anderen Zweck als dem Lesen geöffnet ist, wird ein Fehler ausgegeben.

Attributes (File-Objekt, Folder-Objekt) |
    Normal
Eine Ganzzahl mit einer Kombination aus Werten, die verschiedene Dateisystemattribute darstellen. Je nach dem Dateiattribut ist diese Eigenschaft schreibgeschützt oder auf Lesen/Schreiben eingestellt. In der folgenden Tabelle werden die Werte aufgelistet, die die Eigenschaft Attributes enthalten kann. Um festzustellen, ob ein File- oder Folder-Objekt einen bestimmten Wert hat, verwenden Sie den bitweisen And-Operator, um den Wert der Eigenschaft Attributes und die gewünschte spezifische Konstante miteinander zu vergleichen. Wenn das Ergebnis True lautet, ist das spezifische Attribut ebenfalls True. Dies wird in den folgenden Beispielen veranschaulicht.
Attributes-Konstanten | Wert | Beschreibung
    Normal
| 0 | Es sind keine Attribute eingestellt.
    ReadOnly
| 1 | Schreibgeschützt. Das Attribut kann gelesen/geschrieben werden.
    Hidden
| 2 | Ausgeblendet. Das Attribut kann gelesen/geschrieben werden.
    System
| 4 | Systemdatei. Dieses Attribut ist nur für File-Objekte gültig. Es kann gelesen/geschrieben werden.
    Volume
| 8 | Datenträgeretikett des Laufwerks. Dieses Attribut ist schreibgeschützt.
    Directory
| 16 | Verzeichnis. Dieses Attribut ist schreibgeschützt.
    Archive
| 32 | Archiviert. Das Attribut kann gelesen/geschrieben werden.
    Alias
| 64 | Eine Verknüpfung mit einer anderen Datei. Dieses schreibgeschützte Attribut ist nur für File-Objekte gültig.
    Compressed
| 128 | Komprimiert. Dieses schreibgeschützte Attribut ist nur für File-Objekte gültig.
Parameter
intNewAttributes Eine Ganzzahl, die die Summe der Attribute einer Datei oder eines Ordners enthält. Wenn Sie beispielsweise die Attribute Archived und Hidden auf True einstellen möchten, hat intNewAttributes den Wert Hidden + Archive oder 34 (2 + 32). Bei der Zuweisung zur Eigenschaft Attributes stellt diese Ganzzahl diese beiden Attribute auf True ein.
Beispiel
Im folgenden Code wird die Eigenschaft Attributes zuerst mit einem File-Objekt und dann mit einem Folder-Objekt verwendet.
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object
    Dim fdrObject   ' Folder Object

    ' Declare constants.
    Const Hidden = 2
    Const Archive = 32

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Set the Hidden (value = 2) and Archive (value = 32)
    ' attributes for the Test.TXT file.
    filObject.Attributes = (Hidden + Archive)

    ' Using the GetFolder method of fsoObject, initialize
    ' the Folder object.
    Set fdrObject = fsoObject.GetFolder("d:\docs")

    ' Determine whether the folder is itself hidden.
    If (fdrObject.Attributes And Archive) Then
       ' Folder is hidden.
    Else
       ' Folder is NOT hidden.
    End If
    . . . [additional code]

    %>
Hinweise
Wenn Sie versuchen, die für File-Objekte vorgesehenen schreibgeschützten Attribute für ein Folder-Objekt zu verwenden, wird immer der Wert False zurückgegeben. Wenn Sie aber versuchen, eines der schreibgeschützten Attribute für File- oder Folder-Objekte festzulegen, wird ein Fehler ausgegeben. Beachten Sie, dass Konstanten für die Verwendung mit den Dateizugriffskomponenten explizit deklariert werden müssen.

AvailableSpace (Drive-Objekt) |
drvObj. AvailableSpace
Die verbleibende Kapazität des aktuellen Laufwerks in Byte. Bei Laufwerken mit einer freien Kapazität von mehr als 2 GB ist dieser Wert ungenau. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
    <%
    ' Dimension local variables.
    Dim fsoObject       ' FileSystemObject
    Dim drvObject       ' Drive Object
    Dim lngAvailBytes   ' Number of bytes available

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetDrive method of fsoObject, initialize a
    ' Drive object.
    Set drvObject = fsoObject.GetDrive("\\PublicDocs")
    ' Retrieve the amount of space (in bytes) available
    ' on the drive.
    lngAvailBytes = drvObject.AvailableSpace
    . . . [additional code]

    %>
Hinweise
Die Werte für die Eigenschaften AvailableSpace und FreeSpace sind nur dann unterschiedlich, wenn das Laufwerk Quoten unterstützt. In der Praxis sind diese beiden Eigenschaften in fast allen Fällen austauschbar.

DateCreated (File-Objekt, Folder-Objekt) |
Obj.DateCreated
Ein Wert, der das Erstellungsdatum der Datei oder des Ordners angibt. Dies ist ein schreibgeschützter Wert, der vom Betriebssystem gesteuert wird.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject    ' FileSystemObject.
    Dim fdrObject    ' Folder object.
    Dim datCreated   ' Date variable.

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFolder method of fsoObject, initialize
    ' a Folder object
    Set fdrObject = fsoObject.GetFolder("c:\Docs")
    ' Retrieve the date the folder was created.
    datCreated = fdrObject.DateCreated
    . . . [additional code]

    %>
Hinweise
Der Wert dieser Eigenschaft entspricht dem Datum, an dem die Datei erstellt wurde, nicht dem Datum, an dem die Datei auf das aktuelle Laufwerk geschrieben wurde.

Drive (File-Objekt, Folder-Objekt) |
Obj.Drive
Gibt ein Drive-Objekt zurück, mit dem das File- oder Folder-Objekt verknüpft ist. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject     ' FileSystemObject
    Dim filObject     ' File Object
    Dim objDrive      ' Drive name

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize
    ' a File object.
    Set filObject = fsoObject.GetFile("PublicDocs.txt")
    ' Retrieve the drive name with which the File object
    ' is associated.
    Set objDrive = filObject.Drive
    ' Note that this drive is actually the current drive
    ' in this case.
    . . . [additional code]

    %>
Hinweise
Die Eigenschaft Drive kann ein physisches, lokales, zugeordnetes oder ein über das Netzwerk freigegebenes Laufwerk bezeichnen. Da die Standardeigenschaft des Drive-Objekts Path lautet, können Sie den Laufwerksnamen einem String zuweisen, wie im Folgenden gezeigt:
    strDrive = filObject.Drive
Dies ist genau genommen eine gekürzte Version von:
    strDrive = filObject.Drive.Path
Wenn Sie das Drive-Objekt bearbeiten möchten, müssen Sie jedoch die Anweisung Set verwenden, um den Verweis einer Objektvariablen zuzuweisen. Beispiel:
    Set objDrive = filObject.Drive

FileSystem (Drive-Objekt) |
drvObj.FileSystem
Ein String, der das Dateisystem darstellt, mit dem das aktuelle Laufwerk formatiert wurde. Die folgenden Dateisysteme werden erkannt: CDFS, NTFS, FAT und FAT32. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject      ' FileSystemObject
    Dim drvObject      ' Drive Object
    Dim strFileSys     ' File system of drive

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetDrive method of fsoObject, initialize
    ' a Drive object.
    Set drvObject = fsoObject.GetDrive("\\PublicDocs")
    ' Retrieve the file system for the drive. This value
    ' will contain one of the following strings:
    ' NTFS, FAT, or CDFS.
    strFileSys = drvObject.FileSystem
    . . . [additional code]

    %>
Hinweise
Der Wert der Eigenschaft FileSystem eines Drive-Objekts berücksichtigt auch Clustergrößen und Sicherheitsfunktionen, die für das aktuelle Laufwerk verfügbar sind.

IsReady (Drive-Objekt) |
drvObj.IsReady
Ein Boolescher Wert, der anzeigt, ob das aktuelle Laufwerk zum Lesen oder Schreiben verfügbar ist. Mit dieser Eigenschaft können Sie beispielsweise feststellen, ob eine Diskette oder eine CD in das Laufwerk eingelegt wurde. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject      ' FileSystemObject
    Dim drvObject      ' Drive Object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject(
                    "Scripting.FileSystemObject")
    ' Using the GetDrive method of fsoObject, initialize a
    ' Drive object.
    Set drvObject = fsoObject.GetDrive("\\PublicDocs")
    ' Check to see if the drive is ready.
    If drvObject.IsReady Then
       ' Drive is ready for read/write.
    Else
       ' Drive is not ready.
    End If
    . . . [additional code]

    %>
Hinweise
Es empfiehlt sich, die Eigenschaft IsReady zu verwenden, bevor Sie versuchen, auf ein Laufwerk zuzugreifen. Mit dieser Eigenschaft kann die Verfügbarkeit von Laufwerken für entnehmbare Datenträger (Disketten und CD-ROMs) sowie von integrierten Laufwerken ermittelt werden.

IsRootFolder (Folder-Objekt) |
fdr.IsRootFolder
Ein Boolescher Wert, mit dem Sie feststellen können, ob der aktuelle Ordner der Stammordner ist. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject      ' FileSystemObject
    Dim fdrObject      ' Folder Object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFolder method of fsoObject, initialize a
    ' File object.
    Set fdrObject = fsoObject.GetFolder("PublicDocs.txt")
    ' Determine whether the current folder is a root folder
    ' or if it is nested.
    If fdrObject.IsRootFolder Then
       ' Folder is located directly off the drive letter
       ' or share name.
    Else
       ' The folder is nested within at least one other
       ' folder.
    End If
    . . . [additional code]

    %>
Hinweise
In der Microsoft-Dokumentation wird beschrieben, wie Sie mit dieser Eigenschaft feststellen können, in wie vielen Ebenen der aktuelle Ordner verschachtelt ist. Dies wird mit dem folgenden Code veranschaulicht:
    <%

    ' Dimension local variables.
    Dim fsoObject      ' FileSystemObject
    Dim fdrObject      ' Folder Object
    Dim intNestedLevel ' Level to which the folder is nested

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFolder method of fsoObject, initialize a
    ' File object.
    Set fdrObject = fsoObject.GetFolder("PublicDocs.txt")
    ' Determine whether the current folder is a root folder
    ' or if it is nested.
    If fdrObject.IsRootFolder Then
       ' Folder is located directly off the drive letter or
       ' share name.
    Else
       ' For more on the ParentFolder property of the
       ' Folder object, see the following.
       Do Until fdrObject.IsRootFolder
          Set fdrObject = fdrObject.ParentFolder
          intNestedLevel = intNestedLevel + 1
       Loop
    End If
    . . . [additional code]

    %>

ParentFolder (File-Objekt, Folder-Objekt) |
Obj.ParentFolder
Gibt ein Folder-Objekt zurück, das den Ordner darstellt, in dem die Datei oder der Ordner sich befindet. Die Eigenschaft ist schreibgeschützt.
Parameter
Keine
Beispiel
Im folgenden Code wird die Eigenschaft ParentFolder zuerst mit einem File-Objekt und dann mit einem Folder-Objekt verwendet. Da die Standardeigenschaft eines Folder-Objekts Name lautet, scheint der Code in der ASP-Seite den von der Eigenschaft ParentFolder zurückgegebenen Wert als String zu behandeln.
    <%

    ' Dimension local variables.
    Dim fsoObject        ' FileSystemObject
    Dim filObject        ' File Object
    Dim fdrObject        ' Folder Object
    Dim strFileParent    ' Parent folder of file object
    Dim strFolderParent  ' Parent folder of folder object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Retrieve the name of the folder containing the file Test.TXT.
    ' In this example, the value of strFileParent is "docs".
    strFileParent = filObject.ParentFolder
    ' Using the GetFolder method of fsoObject, initialize
    ' the Folder object.
    Set fdrObject = fsoObject.GetFolder("d:\mystuff\docs")

    ' Retrieve the name of the folder that contains the
    ' folder "docs". In this example, the value of
    ' strFileParent is "mystuff".
    strFolderParent = fdrObject.ParentFolder
    . . . [additional code]

    %>

Close (TextStream-Objekt) |
tsObj.Close
Schließt eine Textdatei, die als TextStream-Objekt geöffnet wurde.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim tsObject    ' TextStream Object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the OpenTextFile method of fsoObject, initialize
    ' the File object.
    Set tsObject = fsoObject.OpenTextFile( _
                   "d:\docs\test.txt", ForReading, False)

    ' Read into the string the contents of the text file.
    strContents = tsObject.ReadAll
    ' Close the open text file.
    tsObject.Close
    . . . [additional code]

    %>
Hinweise
In der Anwendung kann nur eine begrenzte Anzahl Dateien geöffnet sein (ähnlich wie bei der Verwendung von geöffneten Dateien in Visual Basic). Deshalb ist es wichtig, alle geöffneten Textdateien nach der Bearbeitung zu schließen.

Copy (File-Objekt, Folder-Objekt) |
obj.Copy strDestination [, blnOverWrite]
Kopiert eine Datei von einem Speicherort an einen anderen.
Parameter
strDestination Ein String, der den vollständigen Pfad des Verzeichnisses angibt, in das die aktuelle Datei kopiert werden soll. blnOverWrite Ein Boolescher Wert, der angibt, ob eine Datei, die denselben Namen wie die zu kopierende Datei hat, überschrieben werden soll. Die Standardeinstellung ist True.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize
    ' the File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Copy the file to a temporary directory.
    filObject.Copy "e:\storage\temp\test_copy.txt", True
    . . . [additional code]

    %>
Hinweise
Die Methode Copy hat dieselbe Funktion wie die Methoden CopyFile und CopyFolder des Objekts FileSystemObject. Mit den Methoden CopyFile und CopyFolder können jedoch mehrere Dateien oder Ordner gleichzeitig kopiert werden.

CopyFolder (FileSystemObject-Objekt) |
fsoObj.CopyFolder strSource, strDestination [, blnOverWrite]
Ermöglicht es Ihnen, einen Ordner einschließlich des gesamten Inhalts von einem Speicherort an einen anderen zu kopieren.
Parameter
strSource Ein String, der den vollständigen Pfad des Verzeichnisses angibt, von dem Sie einen oder mehrere Ordner kopieren möchten. strSource kann Platzhalterzeichen enthalten. strDestination Ein String, der den vollständigen Pfad des Verzeichnisses angibt, in das die von strSource angegebenen Ordner kopiert werden sollen. blnOverWrite Ein Boolescher Wert, der angibt, ob eine Datei, die denselben Namen wie die zu kopierende Datei hat, überschrieben werden soll. Die Standardeinstellung ist True.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Use the FileSystemObject object's CopyFolder method
    ' to copy the Temp directory and all its contents from
    ' the C drive to the D drive, overwriting if necessary.
    fsoObject.CopyFolder "c:\temp", "d:\temp", True
    . . . [additional code]

    %>
Hinweise
Wenn beim Aufrufen von CopyFolder ein Fehler auftritt, wird die Methode unmittelbar abgebrochen. Bereits ausgeführte Aktionen werden nicht rückgängig gemacht. Mit der Methode CopyFolder lassen sich Ordner genauso schnell kopieren wie mit der Befehlszeile.

CreateFolder (FileSystemObject-Objekt) |
fsoObj.CreateFolder( strFolderName)
Erstellt einen Ordner im angegebenen Verzeichnis.
Parameter
strFolderName Ein String, der den vollständigen physischen Pfad des zu erstellenden Ordners angibt.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Create a new directory.
    fsoObject.CreateFolder("e:\storage\newdir")
    . . . [additional code]

    %>
Hinweise
Wenn Sie versuchen, einen bereits vorhandenen Ordner zu erstellen, wird ein Fehler ausgegeben.

Delete (File-Objekt, Folder-Objekt) |
Obj.Delete blnForce
Löscht eine Datei oder einen Ordner.
Parameter
blnForce Ein Boolescher Wert, der angibt, ob auch schreibgeschützte Dateien oder Ordner gelöscht werden sollen.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Delete the TEST.TXT file--even if the file is marked
    ' as read-only.
    filObject.Delete True
    . . . [additional code]

    %>
Hinweise
Die Methode Delete der File- und Folder-Objekte funktioniert genauso wie die Methoden DeleteFile und DeleteFolder des FileSystemObject-Objekts. Wenn Sie die Methode Delete eines Folder-Objekts verwenden, wird der Ordner einschließlich des gesamten Inhalts gelöscht. Bei Verwendung dieser Methode erhalten Sie keine Warnung, wenn Sie versuchen, ein Verzeichnis zu löschen, das Dateien enthält.

GetBaseName (FileSystemObject-Objekt) |
fsoObj.GetBaseName( strPath)
Extrahiert den Namen einer Datei aus einem vollständigen Dateipfad, jedoch ohne die Dateierweiterung.
Parameter
strPath Ein String, der den vollständigen Dateipfad der Datei darstellt, deren Basisnamen Sie abrufen möchten.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetBaseName method, retrieve the base
    ' names of several path strings.
    ' This example returns "searchstart" as the base name.
    Response.Write fsoObject.GetBaseName( _
                   "/apps/search/searchstart.asp")
    ' This example returns "search" as the base name.
    Response.Write fsoObject.GetBaseName("/apps/search/")
    ' This example returns "search" as the base name.
    Response.Write fsoObject.GetBaseName("/apps/search")
    ' This example returns "nofile" as the base name--even
    ' though the nofile.txt file does not exist.
    fsoObject.GetBaseName("/apps/search/nofile.txt")
    . . . [additional code]

    %>
Hinweise
GetBaseName versucht, den Basisnamen einer Datei von einem Pfad-String abzurufen. Wenn das letzte Element im Pfad-String ein Ordner ist, wird der Ordnername zurückgegeben, selbst wenn Sie einen nach vorne oder nach hinten gerichteten Schrägstrich (/ oder \) einschließen. Es wird nicht überprüft, ob der Pfad-String gültig ist oder als tatsächlicher Pfad auf dem Server vorhanden ist. Diese Methode bestimmt lediglich den Pfad als String. Deshalb lässt die Assoziation dieser Methode mit dem Objekt FileSystemObject möglicherweise falsche Schlüsse zu, da keine Dateibearbeitung erfolgt.

GetParentFolderName (FileSystemObject-Objekt) |
fsoObj.GetFolderName ( strPath)
Bestimmt den Namen des letzten übergeordneten Ordners in einem bestimmten Pfad-String.
Parameter
strPath Ein String, der den vollständigen Pfad der Datei oder des Ordners angibt, für die/den Sie den Namen des übergeordneten Ordners abrufen möchten.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject(
                    "Scripting.FileSystemObject")
    ' Using the GetParentFolderName method, retrieve the
    ' parent folder names of several path strings.
    ' This example returns "search" as the parent folder
    ' name.
    Response.Write fsoObject.GetParentFolderName( _
                   "/apps/search/searchstart.asp")
    ' This example return "apps" as the parent folder name
    Response.Write fsoObject.GetParentFolderName ("/apps/search/")
    ' This example also returns "apps" as the parent folder
    ' name.
    Response.Write fsoObject.GetParentFolderName ("/apps/search")
    ' This example returns "nofile" as the parent folder
    ' name--even though nofile.txt does not exist.
    Response.Write fsoObject.GetParentFolderName( _
                   "/apps/search/nofile.txt")
    . . . [additional code]

    %>
Hinweise
Wie die Methode GetBaseName des FileSystemObject-Objekts wirkt sich die Methode GetParentFolderName nur auf den Pfad-String selbst aus. Es wird nicht überprüft, ob der Pfad-String gültig ist oder ob der Pfad tatsächlich vorhanden ist.

GetSpecialFolder (FileSystemObject-Objekt) |
fsoObj.GetSpecialFolder (intSpecialFolderType)
Ruft den vollständigen physischen Pfad eines speziellen Ordners auf dem Webserver ab.
Parameter
intSpecialFolderType Eine Ganzzahl, die den Typ des speziellen Ordners angibt, dessen vollständigen physischen Pfad Sie abrufen möchten. Dieser Parameter kann folgende Werte annehmen:
Konstante | Wert | Beschreibung
WindowsFolder | 0 | Der Windows- oder WinNT-Ordner, in dem das Betriebssystem installiert wurde.
SystemFolder | 1 | Der Systemordner, in dem Bibliotheken und Gerätetreiber installiert wurden.
TemporaryFolder | 2 | Der temporäre Ordner, wie in den Umgebungsvariablen deklariert.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Declare file constants.
    Const WindowsFolder   = 0
    Const SystemFolder    = 1
    Const TemporaryFolder = 2

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Use GetSpecialFolder to retrieve the physical path
    ' for the Windows, System, and Temp directories.
    ' This example returns something similar to "C:\WINNT".
    fsoObject.GetSpecialFolder(WindowsFolder)
    ' This example returns something similar to
    ' "C:\WINNT\SYSTEM32".
    fsoObject.GetSpecialFolder(SystemFolder)

    ' This example returns something similar to
    ' "C:\WINNT\TEMP"
    fsoObject.GetSpecialFolder(TemporaryFolder)
    . . . [additional code]

    %>
Hinweise
Beachten Sie, dass Konstanten für die Verwendung mit den Dateizugriffskomponenten explizit deklariert werden müssen.

MoveFolder (FileSystemObject-Objekt) |
fsoObj.MoveFolder strSourcePath, strDestinationPath
Verschiebt einen Ordner einschließlich des gesamten Inhalts von einem Verzeichnis in ein anderes.
Parameter
strSourcePath Ein String, der den Pfad der zu verschiebenden Ordner darstellt. Platzhalterzeichen können nur im letzten Segment des Pfades in das Argument strSourcePath eingeschlossen werden. strDestinationPath Ein String, der den Verzeichnispfad darstellt, in den Sie die mit dem Parameter strSourcePath angegebenen Ordner verschieben möchten. Der Parameter strDestinationPath darf keine Platzhalterzeichen enthalten.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the MoveFolder method, move all the folders
    ' under C:\APPS to the D: drive.
    fsoObject.MoveFolder "C:\APPS\*.*", "D:\"
    . . . [additional code]

    %>
Hinweise
Wenn Sie versuchen, einen Ordner an ein Ziel zu verschieben, bei dem es sich bereits um einen Dateinamen handelt, wird ein Fehler ausgegeben. Wenn das angegebene Ziel mit dem Namen eines bereits vorhandenen Ordners identisch ist, wird ein Fehler ausgegeben, es sei denn, das Argument für die Quelle endet mit einem Platzhalter oder einem Schrägstrich (\). In diesem Fall wird der Quellordner einschließlich des gesamten Inhalts in den Zielordner verschoben. Der folgende Beispielcode verursacht einen Fehler:
    <%
    ' Assume FileSystemObject object is instantiated
    'already. Also assume that D:\ apps already exists.
    fsoObject.MoveFolder "C:\apps", "d:\apps"
    %>
Dagegen wird mit dem folgenden Code kein Fehler verursacht:
    <%
    ' Assume FileSystemObject object is instantiated
    ' already. Also assume that D:\ apps already exists.
    fsoObject.MoveFolder "C:\apps\*.*", "d:\apps"
    ' This last line create an apps folder in the D:\apps
    ' folder (making D:\apps\apps)
    %>
Wenn beim Aufrufen von MoveFolder ein Fehler auf dem Webserver auftritt, werden alle Aktionen angehalten, ohne dass bereits ausgeführte Aktionen rückgängig gemacht werden. Angenommen, Sie versuchen, drei Ordner einschließlich des gesamten Inhalts zu verschieben. Wenn beim Verschieben des dritten Ordners ein Fehler auftritt, bleiben die beiden bereits verschobenen Ordner im neuen Verzeichnis, obwohl der dritte Ordner nicht verschoben wird. Sie müssen eigenen Code schreiben, um zu überprüfen, welche Dateien und Ordner tatsächlich verschoben wurden und welche nicht. Das Verschieben von Ordnern zwischen Datenträgern ist nur möglich, wenn dies vom Betriebssystem unterstützt wird und die Einstellungen für die Benutzersicherheit des Webservers ein solches Verschieben zulassen.

OpenAsTextStream (File-Objekt) |
tsObject =filObj.OpenAsTextStream [ intAccessMode][, intFormat]
Öffnet eine Datei und erstellt ein TextStream-Objekt, das Sie zum Lesen oder Ändern der Textdatei verwenden können. Diese Methode gibt ein TextStream-Objekt zurück.
Parameter
intAccessMode Eine Ganzzahl, die den Eingabe-/Ausgabemodus angibt, in dem Sie die Textdatei öffnen möchten. Dieser Parameter kann folgende Werte annehmen:
Konstante | Wert | Beschreibung
ForReading | 1 | Die Datei wird schreibgeschützt geöffnet und kann vom aktuellen TextStream-Objekt nicht geändert werden.
ForWriting | 2 | Die Datei wird zum Schreiben geöffnet. Wenn die Datei bereits vorhanden ist, wenn Sie die Methode OpenAsTextStream aufrufen, wird die Originaldatei überschrieben.
ForAppending | 8 | Die Datei wird zum Anhängen von Text geöffnet. Zeichen können nur an das Ende der Datei angefügt werden.
intFormat Eine Ganzzahl, die das Format der Datei angibt, die als TextStream-Objekt geöffnet werden soll. Für diesen Parameter kommt ein einzelner Tristate-Wert in Frage. Das Format der Datei ist entweder Unicode, ASCII oder das Standardsystemformat. Dieser Parameter kann folgende Werte annehmen:
Konstante | Wert | Beschreibung
TristateUseDefault | -2 | Das Dateiformat entspricht dem Standardformat des Webservers (Unicode oder ASCII).
TristateTrue | -1 | Das Dateiformat ist Unicode.
TristateFalse | 0 | Das Dateiformat ist ASCII.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object
    Dim tsObject    ' TextStream object

    ' Declare File Access constants.
    Const ForAppending = 8
    Const TristateTrue = -1

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Use the OpenAsTextStream method to open the file for
    ' appending and in Unicode format.
    Set tsObject = filObject.OpenAsTextStream(ForAppending, TristateTrue)
    %>
Hinweise
Die Methode OpenAsTextStream entspricht weitgehend der Methode OpenTextFile des FileSystemObject-Objekts. Der einzige Unterschied besteht darin, dass mit der Methode OpenAsTextStream auch eine neue Textdatei erstellt werden kann, wenn noch keine vorhanden ist. Beachten Sie, dass Konstanten für die Verwendung mit den Dateizugriffskomponenten explizit deklariert werden müssen.

ReadLine (TextStream-Objekt) |
tsObj.ReadLine
Die Methode ReadLine ähnelt der Methode Read des TextStream-Objekts, da sie es Ihnen ermöglicht, Daten aus einer Textdatei in eine Stringvariable zu lesen oder die Ergebnisse eines solchen Lesevorgangs mit einer anderen Entität zu vergleichen. Zwischen den beiden Methoden besteht jedoch folgender Unterschied: Die Methode Read ermittelt anhand eines Arguments, wie viele Zeichen gelesen werden sollen, während die Methode ReadLine alle Zeichen von der aktuellen Zeigerposition bis zum nächsten Zeilenumbruch liest.
Parameter
Keine
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object
    Dim tsObject    ' TextStream object
    Dim strBuffer   ' Holding buffer

    ' Declare file access constants.
    Const ForReading = 1
    Const TristateFalse = 0

    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Use the OpenAsTextStream method to open the file for
    ' reading and in ASCII format.
    Set tsObject = filObject.OpenAsTextStream(ForReading, TristateFalse)
    ' Use the ReadLine method to read the next line of text
    ' from the text file into the strBuffer variable.
    strBuffer = tsObject.ReadLine
    %>
Hinweise
Nach dem Aufrufen der Methode ReadLine entspricht die aktuelle Zeigerposition in der Datei dem Zeichen direkt nach dem letzten Zeilenumbruch oder an der Markierung für das Dateiende. Beachten Sie, dass Konstanten für die Verwendung mit den Dateizugriffskomponenten explizit deklariert werden müssen.

Write (TextStream-Objekt) |
tsObj.Write(strWriteString)
Schreibt einen angegebenen String in eine geöffnete Textdatei, und zwar an der aktuellen Position des Dateizeigers.
Parameter
strWriteString Ein String, der den Text darstellt, den Sie in die geöffnete Datei schreiben möchten.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object
    Dim tsObject    ' TextStream object
    Dim strEnding
    ' Declare file access constants.
    Const ForAppending = 8
    Const TristateFalse = 0

    ' Initialize string variable. This string will be
    ' written to the end of the file opened next.
    strEnding = "This is the end, my only friend, the end..."
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Use the OpenAsTextStream method to open the file for
    ' appending and in Unicode format.
    Set tsObject = filObject.OpenAsTextStream(ForAppending, TristateFalse)
    ' Write a short string to the end of the opened file.
    tsObject.Write strEnding
    . . . [additional code]

    %>
Hinweise
Die Methode Write platziert keine Zeichen am Anfang oder am Ende der einzelnen geschriebenen Strings. Wenn Sie die Methode Write verwenden, um einer Datei Text hinzuzufügen, müssen Sie deshalb alle gewünschten Zeichen am Anfang und am Ende der zu schreibenden Strings einschließen (wie beispielsweise Leerzeichen oder Zeilenumbrüche).

WriteLine (TextStream-Objekt) |
tsObj.WriteLine([strWriteString])
Schreibt den Wert eines Strings in eine geöffnete Datei, und zwar an der Position des Dateizeigers. Mit dieser Methode wird auch ein Zeilenumbruch am Ende des hinzugefügten Strings eingefügt. Abgesehen davon entspricht diese Methode genau der Methode Write. strWriteString Ein String, der den Text darstellt, den Sie in die geöffnete Textdatei schreiben möchten.
Beispiel
    <%

    ' Dimension local variables.
    Dim fsoObject   ' FileSystemObject
    Dim filObject   ' File Object
    Dim tsObject    ' TextStream object
    Dim strEnding
    ' Declare file access constants.
    Const ForAppending = 8
    Const TristateFalse = 0

    ' Initialize a string variable that will be written to
    ' the end of the file opened next.
    strEnding = "This is the end, my only friend, the end..."
    ' Instantiate the FileSystemObject variable.
    Set fsoObject = Server.CreateObject( _
                    "Scripting.FileSystemObject")
    ' Using the GetFile method of fsoObject, initialize the
    ' File object.
    Set filObject = fsoObject.GetFile("d:\docs\test.txt")

    ' Use the OpenAsTextStream method to open the file for
    ' appending and in Unicode format.
    Set tsObject = filObject.OpenAsTextStream(ForAppending, TristateFalse)
    ' Write a short string plus a newline character to the
    ' end of the opened file.
    tsObject.WriteLine strEnding
    . . . [additional code]

    %>
Hinweise
Nach dem Aufrufen der Methode WriteLine befindet sich der Dateizeiger an dem Zeichen, das direkt auf den Zeilenumbruch folgt, der der Datei hinzugefügt wurde.