<% ' Last Updated 19 May 2006 ' Jonathan Maxwell Sub DeleteAFile(filespec) ' Deletes a file Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(filespec) set fso = nothing End Sub Sub CopyAFile(filenamefrom, filenameto, deletefile) ' Copies a file Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile filenamefrom, filenameto, true if deletefile then fso.DeleteFile(filenamefrom) set fso = nothing End Sub Sub MoveAFile(filenamefrom, filenameto) ' Moves and/or renames a file Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.MoveFile filenamefrom, filenameto set fso = nothing End Sub Function ReportFileStatus(filespec) ' See if file exists Dim fso, msg Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FileExists(filespec)) Then msg = true Else msg = false End If set fso = nothing ReportFileStatus = msg End Function Function GetFileExtension(FileName) ' Get correct file extension dim TempFileExtension if isNull(FileName) = false and FileName <> "" then TempFileExtension = strReverse(FileName) TempFileExtension = left(TempFileExtension, instr(TempFileExtension, ".")-1) TempFileExtension = strReverse(TempFileExtension) GetFileExtension = TempFileExtension end if End Function Sub CreateAFile(filespec) ' Create a file Dim fso, file set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile filespec, true, false set fso = nothing End Sub Sub WriteToFile(strText, strFileSpec, blnDeleteAll) ' Write to a file and delete/create one if required On Error Resume Next Dim ForWriting, Create Dim FSO ' FileSystemObject Dim TSO ' TextStreamObject ForWriting = 8 ' Input OutPut mode Create = True if blnDeleteAll then CreateAFile(strFileSpec) end if Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set TSO = FSO.OpenTextFile(strFileSpec, ForWriting, Create) TSO.write strText TSO.close Set TSO = Nothing Set FSO = Nothing ' If cannot write to file try another method if err.number = 5 then err.clear Const adTypeText = 2 Const adSaveCreateOverWrite = 2 'Create Stream object Dim BinaryStream Set BinaryStream = CreateObject("ADODB.Stream") 'Specify stream type - we want To save text/string data. BinaryStream.Type = adTypeText 'Specify charset For the source text (unicode) data. BinaryStream.CharSet = "iso-8859-1" 'Open the stream And write binary data To the object BinaryStream.Open BinaryStream.WriteText strText 'Save binary data To disk BinaryStream.SaveToFile strFileSpec, adSaveCreateOverWrite if err.number <> 0 then err.clear end if End Sub Function ReadFile(strFileSpec) ' Read file contents Dim ForReading Dim FSO ' FileSystemObject Dim Fil ' File Dim TSO ' TextStreamObject ForReading = 1 ' Input OutPut mode if ReportFileStatus(strFileSpec) then Set FSO = Server.CreateObject("Scripting.FileSystemObject") set Fil = FSO.GetFile(strFileSpec) if Fil.size > 0 then Set TSO = FSO.OpenTextFile(strFileSpec, ForReading) ReadFile = TSO.ReadAll TSO.close Set TSO = Nothing end if set Fil = nothing Set FSO = Nothing end if End Function Function GetFileAttribute(filespec, attribute) ' Gets attribute of file On Error Resume next dim fso, fsofile Set fso=Server.CreateObject("Scripting.FileSystemObject") Set fsofile=fso.GetFile(filespec) Select case lcase(attribute) case "size" GetFileAttribute = fsofile.Size case "type" GetFileAttribute = fsofile.Type case "name" GetFileAttribute = fsofile.Name case "datecreated" GetFileAttribute = fsofile.DateCreated case "datelastaccessed" GetFileAttribute = fsofile.DateLastAccessed case "datelastmodified" GetFileAttribute = fsofile.DateLastModified case "drive" GetFileAttribute = fsofile.Drive case "parentfolder" GetFileAttribute = fsofile.ParentFolder case "path" GetFileAttribute = fsofile.Path case "shortname" GetFileAttribute = fsofile.ShortName case "shortpath" GetFileAttribute = fsofile.ShortPath case "attributes" GetFileAttribute = fsofile.Attributes 'NB: Attributes '0 = Normal file '1 = Read-only file '2 = Hidden file '4 = System file '16 = Folder or directory '32 = File has changed since last backup '1024 = Link or shortcut '2048 = Compressed file End Select Set fsofile = nothing set fso = nothing if err.number <> 0 then err.clear End Function %>