FSO bedeutet FileSystemObject, das Dateisystemobjekt. Das FSO-Objektmodell ist in der Scripting-Typbibliothek (Scrrun.Dll) enthalten. Es enthält außerdem fünf Objekte: Drive, Folder, File, FileSystemObject und TextStream. Es ist sehr praktisch, Dateien und Ordner-Objekteigenschaften zu bedienen
DateCreated gibt das Erstellungsdatum und die Erstellungszeit des Ordners zurück
DateLastAccessed gibt das Datum und die Uhrzeit des letzten Zugriffs auf die Datei zurück
DateLastModified gibt das Datum und die Uhrzeit der letzten Änderung der Datei zurück
Drive gibt das Drive-Objekt des Laufwerks zurück, auf dem sich die Datei befindet.
Name legt den Namen der Datei fest oder gibt ihn zurück
ParentFolder gibt das Folder-Objekt des übergeordneten Ordners der Datei zurück
Path gibt den absoluten Pfad der Datei zurück, lange Dateinamen können verwendet werden
ShortName gibt die DOS-8.3-Form des Dateinamens zurück.
ShortPath gibt einen absoluten Pfad zu einer Datei im DOS-8.3-Stil zurück
Size gibt die Größe der Datei (Bytes) zurück.
Typ Gibt nach Möglichkeit eine Zeichenfolge zurück, die den Dateityp beschreibt.
FSO-Dateiobjektmethoden (Datei).
Verwendung der FSO-Dateiobjektmethode
CopyFile kopiert eine oder mehrere Dateien in einen neuen Pfad
CreateTextFile erstellt eine Datei und gibt ein TextStream-Objekt zurück
DeleteFile löscht eine Datei
OpenTextFile öffnet eine Datei und gibt ein TextStream-Objekt zum Lesen oder Anhängen zurück
Benennen Sie die Datei um:
Kopieren Sie den Codecode wie folgt:
Funktion reName(sourceName,destName)
dim oFso,oFile
set oFso=server.createobject(Scripting.FileSystemObject)
set oFile=oFso.getFile(Server.mappath(sourceName))
oFile.Name=Zielname
Setze oFso=Nichts
Legen Sie oFile=Nothing fest
Funktion beenden
Dateien löschen:
Kopieren Sie den Codecode wie folgt:
Funktion FSOdel(fileName)
dim fso,f
set fso = server.CreateObject(scripting.filesystemobject)
f=server.MapPath(fileName)
wenn fso.FileExists(f), dann
fso.DeleteFile f,true
Ende wenn
setze f = nichts
setze fso = nichts
Funktion beenden
Ersetzen Sie eine Zeichenfolge in einer Datei:
Kopieren Sie den Codecode wie folgt:
Funktion FSReplace(fileName,Target,repString)
Dimmen Sie objFSO,objCountFile,FiletempData
Setze objFSO = Server.CreateObject(Scripting.FileSystemObject)
Setze objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True)
FiletempData = objCountFile.ReadAll
objCountFile.Close
FiletempData=Replace(FiletempData,Target,repString)
Setze objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True)
objCountFile.Write FiletempData
objCountFile.Close
Setze objCountFile=Nothing
Setze objFSO = Nichts
Funktion beenden
<%
'************************************************** * ***
'Funktionsname: CreateFolder(sPath)
'Funktion: Verzeichnis erstellen
'Parameter: sPath: relativer Verzeichnispfad erstellt
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
'response.Write createfolder(/dgsunshine/UploadFile/demo1/)
Funktion CreateFolder(sPath)
Bei Fehler Weiter fortsetzen
Dim Fso,Arrfolder,Folder,i,j
Wenn sPath= dann
CreateFolder = False
Exit-Funktion
Ende wenn
Wenn Left(sPath,1) = / Then
Ordner = /
sPath = Mid(sPath,2,Len(sPath))
Anders
Ordner = ./
Ende wenn
if Right(sPath,1) = / then sPath = Left(sPath,Len(sPath)-1)
ArrFolder = Split(sPath,/)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
Für i = 0 To Ubound(ArrFolder)
Wenn i = 0, dann
Ordner = Ordner & ArrFolder(i) & /
Anders
Ordner = Ordner & ArrFolder(i) & /
Ende wenn
Wenn Fso.folderExists(Server.MapPath(Folder)) = False dann
Antwort.Write server.MapPath(Ordner)
Fso.createFolder(Server.MapPath(Ordner))
Ende wenn
Nächste
Setze Fso = nichts
Wenn Err.Number <> 0, dann
Err.clear()
CreateFolder = False
Anders
CreateFolder = True
Ende wenn
Funktion beenden
Funktion getFile(paramFilePath)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
Setze Fso_Read = fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2)
getFile = Fso_Read.readall
Setzen Sie Fso_Read = Nothing
Setze Fso = Nichts
Funktion beenden
'************************************************** * ***
'Funktionsname: CreateFile(paramFileContent,paramFilePath)
'Funktion: Datei erstellen
'Parameter: paramFileContent 'Der Inhalt der Datei
' paramFilePath 'Dateiname (ohne Pfad)
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion CreateFile(paramFileContent,paramFilePath)
Bei Fehler Weiter fortsetzen
Dim Fso,fWrite
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
Setze fWrite = Fso.CreateTextFile(Server.Mappath(paramFilePath),true)
fWrite.write paramFileContent
fWrite.close()
Setze fWrite = nichts
Setze Fso = nichts
Wenn Fehlernummer <> 0, dann
Err.clear()
CreateFile = False
Anders
CreateFile = True
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: DelFile(FilePath)
'Funktion: Dateien löschen
'Parameter: FilePath 'Dateipfad mehrerer Dateien, getrennt durch |
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion DelFile(FilePath)
Bei Fehler Weiter fortsetzen
Dim fso,arrFile,i
Wenn GetSafeStr(FilePath,)= dann
CreateFolder = false
Exit-Funktion
Ende wenn
arrFile = Split(FilePath,|)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
für i=0 zu UBound(arrFile)
FilePath = arrFile(i)
Wenn Fso.FileExists(Server.MapPath(FilePath)) dann
Fso.DeleteFile Server.MapPath(FilePath)
Ende wenn
Nächste
Setze fso = nichts
Wenn äh, dann
Err.clear()
DelFile = false
Anders
DelFile = true
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: DelFolder(FolderPath)
'Funktion: Verzeichnis löschen
'Parameter: FolderPath 'Verzeichnispfad' Mehrere Verzeichnisse werden durch | getrennt
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion DelFolder(FolderPath)
Bei Fehler Weiter fortsetzen
Dim Fso,arrFolder,i
Wenn GetSafeStr(FolderPath,)= dann
DelFolder = false
Exit-Funktion
Ende wenn
arrFolder = Split(FolderPath,|)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
Für i=0 bis UBound(arrFolder)
FolderPath = arrFolder(i)
Wenn Fso.folderexists(Server.MapPath(FolderPath)) dann
Fso.deleteFolder Server.MapPath(FolderPath)
Ende wenn
Nächste
Wenn äh, dann
Err.clear()
DelFolder = false
'ShowError Fehler beim Löschen des Verzeichnisses,
anders
DelFolder = true
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: IsExistFile(FilePath)
'Funktion: Bestimmen Sie, ob die Datei oder das Verzeichnis vorhanden ist
'Parameter: FilePath 'Dateipfad mehrerer Dateien, getrennt durch |
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion IsExistFile(FilePath)
Bei Fehler Weiter fortsetzen
Dim fso,arrFile,i
Wenn GetSafeStr(FilePath,)= dann
IsExistFile = false
Ende wenn
arrFile = Split(FilePath,|)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
für i=0 zu UBound(arrFile)
FilePath = arrFile(i)
Wenn Fso.FileExists(Server.MapPath(FilePath)) dann
IsExistFile = True
Ende wenn
Wenn Fso.folderexists(Server.MapPath(FilePath)) dann
IsExistFile = True
Ende wenn
Nächste
Setze fso = nichts
Wenn äh, dann
Err.clear()
IsExistFile = false
„ShowError Es konnte nicht festgestellt werden, ob die Datei oder das Verzeichnis vorhanden ist.
anders
IsExistFile = true
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: DelFile(FilePath)
'Funktion: Dateien oder Verzeichnisse löschen
'Parameter: FilePath 'Dateipfad mehrerer Dateien, getrennt durch |
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion DelFile(FilePath)
Bei Fehler Weiter fortsetzen
Dim fso,arrFile,i
Wenn GetSafeStr(FilePath,)= dann
CreateFolder = false
Ende wenn
arrFile = Split(FilePath,|)
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
für i=0 zu UBound(arrFile)
FilePath = arrFile(i)
Wenn Fso.FileExists(Server.MapPath(FilePath)) dann
Fso.DeleteFile Server.MapPath(FilePath)
Ende wenn
Wenn Fso.folderexists(Server.MapPath(FilePath)) dann
Fso.deleteFolder Server.MapPath(FilePath)
Ende wenn
Nächste
Setze fso = nichts
Wenn äh, dann
Err.clear()
DelFile = false
'ShowError Löschen der Datei oder des Verzeichnisses fehlgeschlagen,
anders
DelFile = true
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: ReNameFile((oldName,newName)
'Funktion: Dateien oder Verzeichnisse umbenennen
'Parameter: strOldName 'Mehrere Originaldateinamen werden durch | getrennt
' strNewName ' Mehrere neue Dateinamen werden durch | getrennt
' Bitte halten Sie die beiden oben genannten Parameter konsistent
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion ReNameFile(strOldName,strNewName)
Bei Fehler Weiter fortsetzen
Dim fso,arrOld,arrNew,i,oldName,newName
alt = GetSafeStr(strOldName,)
Newfile = GetSafeStr(strNewName,)
Wenn old = oder Newfile = dann
ReNameFile = false
Exit-Funktion
Ende wenn
arrOld = Split(strOldName,|)
arrNew = Split(strNewName,|)
Wenn UBound(arrOld)<> UBound(arrNew), dann
ReNameFile = false
Exit-Funktion
Ende wenn
Setze Fso = Server.CreateObject(Scripting.FileSystemObject)
für i=0 bis UBound(arrOld)
oldName = Server.MapPath(arrOld(i))
newName = Server.MapPath(arrNew(i))
Wenn Fso.FileExists(oldName) und nicht Fso.FileExists(newName), dann
fso.MoveFile alterName, neuerName
'ReNameFile = True
Ende wenn
Nächste
Setze fso = nichts
Wenn Err.Number <> 0, dann
Err.clear()
ReNameFile = false
Anders
ReNameFile = True
Ende wenn
Funktion beenden
'************************************************** * ***
'Funktionsname: CopyFiles((TempSource,TempEnd)
'Funktion: Dateien oder Verzeichnisse kopieren
'Parameter: TempSource 'Mehrere Quelldateinamen werden durch | getrennt
„TempEnd“ Mehrere Zieldateinamen werden durch | getrennt
' Hinweis: Bitte halten Sie die beiden oben genannten Parameter konsistent und beide sind vollständige Pfade.
'Wurde von der Server.MapPath-Methode verarbeitet
'Rückgabewert: true bei Erfolg, false bei Fehler
'************************************************** * ***
Funktion CopyFiles(TempSource,TempEnd)
Bei Fehler Weiter fortsetzen
Dimmen Sie CopyFSO,arrSource,arrEnd
CopyFiles = false
Setze CopyFSO = Server.CreateObject(Scripting.FileSystemObject)
Wenn TempSource = oder TempEnd = dann
ErrRaise Dateien oder Verzeichnisse kopieren, die Bedingung ist leer
CopyFiles = false
Exit-Funktion
Ende wenn
arrSource = Split(TempSource,|)
arrEnd = Split(TempEnd,|)
Wenn UBound(arrSource) <> UBound(arrEnd), dann
CopyFiles= false
Exit-Funktion
Ende wenn
für i=0 bis UBound(arrSource)
srcName = arrSource(i)
tarName = arrEnd(i)
WENN CopyFSO.FileExists(srcName) und nicht CopyFSO.FileExists(tarName) dann
CopyFSO.CopyFile srcName,tarName
CopyFiles = true
Ende wenn
WENN CopyFSO.FolderExists(srcName) und nicht CopyFSO.FolderExists(tarName)dann
CopyFSO.CopyFolder srcName,tarName
CopyFiles = true
Ende wenn
Nächste
Setzen Sie CopyFSO = Nothing
Wenn äh, dann
'Err.clear()
CopyFiles = false
Ende wenn
Funktion beenden
%>