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 ( 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 | |
|
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:
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 |
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 |
|
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 |
|
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.
|
|||||||||||||||||||||||||||||||
Parameter | |||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||
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 |
|||||||||||||||||||||||||||||||
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 |
|
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 |
|
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. |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 | |
|
|
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 |
|
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 | |
|
|
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 |
|
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 | |
|
|
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") |
|
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 | |
|
|
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 |
|
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 | |
|
|
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") |
|
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 | |
|
|
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") |
|
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 | |||||||||||||
|
|||||||||||||
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) |
|||||||||||||
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 | |
|
|
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:\" |
|
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 | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
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 | |
|
|
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 |
|
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.
|
|
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 |
|
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. |
|