FSO หมายถึง FileSystemObject ซึ่งเป็นออบเจ็กต์ระบบไฟล์ โมเดลออบเจ็กต์ FSO รวมอยู่ในไลบรารีประเภทสคริปต์ (Scrrun.Dll) นอกจากนี้ยังมีออบเจ็กต์ 5 รายการ ได้แก่ ไดรฟ์ โฟลเดอร์ ไฟล์ FileSystemObject และ TextStream สะดวกมากในการใช้งานไฟล์และโฟลเดอร์
DateCreated ส่งคืนวันที่และเวลาที่สร้างของโฟลเดอร์
DateLastAccessed ส่งคืนวันที่และเวลาที่เข้าถึงไฟล์ครั้งล่าสุด
DateLastModified ส่งคืนวันที่และเวลาที่ไฟล์ถูกแก้ไขครั้งล่าสุด
Drive ส่งคืนออบเจ็กต์ Drive ของไดรฟ์ที่มีไฟล์อยู่
ชุดชื่อหรือส่งคืนชื่อของไฟล์
ParentFolder ส่งคืนวัตถุโฟลเดอร์ของโฟลเดอร์หลักของไฟล์
Path ส่งคืนพาธสัมบูรณ์ของไฟล์ สามารถใช้ชื่อไฟล์แบบยาวได้
ShortName ส่งคืนรูปแบบ DOS 8.3 ของชื่อไฟล์
ShortPath ส่งคืนพาธสัมบูรณ์สไตล์ DOS 8.3 ไปยังไฟล์
Size ส่งกลับขนาดของไฟล์ (ไบต์)
พิมพ์ หากเป็นไปได้ จะส่งกลับสตริงที่อธิบายประเภทไฟล์
วิธีการวัตถุไฟล์ FSO (ไฟล์)
การใช้เมธอดออบเจ็กต์ไฟล์ FSO
CopyFile จะคัดลอกไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปไปยังเส้นทางใหม่
CreateTextFile สร้างไฟล์และส่งกลับวัตถุ TextStream
DeleteFile จะลบไฟล์
OpenTextFile เปิดไฟล์และส่งกลับวัตถุ TextStream สำหรับการอ่านหรือต่อท้าย
เปลี่ยนชื่อไฟล์:
คัดลอกรหัสรหัสดังต่อไปนี้:
เปลี่ยนชื่อฟังก์ชัน (sourceName, destName)
สลัว oFso, oFile
ตั้งค่า oFso=server.createobject (Scripting.FileSystemObject)
ตั้งค่า oFile=oFso.getFile(Server.mappath(sourceName))
oFile.Name=ชื่อปลายทาง
ตั้งค่า oFso=Nothing
ตั้งค่า oFile=ไม่มีอะไร
ฟังก์ชันสิ้นสุด
ลบไฟล์:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น FSOdel(ชื่อไฟล์)
สลัว fso,f
ตั้งค่า fso = server.CreateObject (scripting.filesystemobject)
f=server.MapPath (ชื่อไฟล์)
ถ้า fso.FileExists(f) แล้ว
fso.DeleteFile f จริง
สิ้นสุดถ้า
เซต f = ไม่มีอะไร
ตั้งค่า fso = ไม่มีเลย
ฟังก์ชันสิ้นสุด
แทนที่สตริงในไฟล์:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชัน FSOreplace (ชื่อไฟล์, เป้าหมาย, repString)
หรี่ objFSO, objCountFile, FiletempData
ตั้ง objFSO = Server.CreateObject (Scripting.FileSystemObject)
ตั้งค่า objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True)
FiletempData = objCountFile.ReadAll
objCountFile ปิด
FiletempData=แทนที่(FiletempData,เป้าหมาย,repString)
ตั้งค่า objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True)
objCountFile.เขียน FiletempData
objCountFile ปิด
ตั้งค่า objCountFile=ไม่มีอะไร
ตั้ง objFSO = ไม่มีเลย
ฟังก์ชันสิ้นสุด
-
'************************************************ * ***
'ชื่อฟังก์ชัน: CreateFolder(sPath)
'ฟังก์ชัน: สร้างไดเรกทอรี'
'พารามิเตอร์: sPath: สร้างเส้นทางไดเรกทอรีสัมพันธ์แล้ว
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
'response.Write createfolder(/dgsunshine/UploadFile/demo1/)
ฟังก์ชั่น CreateFolder(sPath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim Fso, Arrfolder, โฟลเดอร์, i, j
ถ้า sPath= แล้ว
CreateFolder = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ถ้า ซ้าย(sPath,1) = / จากนั้น
โฟลเดอร์ = /
sPath = กลาง(sPath,2,เลน(sPath))
อื่น
โฟลเดอร์ = ./
สิ้นสุดถ้า
ถ้า Right(sPath,1) = / จากนั้น sPath = Left(sPath,Len(sPath)-1)
ArrFolder = แยก (sPath,/)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i = 0 ถึง Ubound (ArrFolder)
ถ้า i = 0 แล้ว
โฟลเดอร์ = โฟลเดอร์ & ArrFolder(i) & /
อื่น
โฟลเดอร์ = โฟลเดอร์ & ArrFolder(i) & /
สิ้นสุดถ้า
ถ้า Fso.folderExists(Server.MapPath(Folder)) = False แล้ว
การตอบสนอง เขียนเซิร์ฟเวอร์ MapPath (โฟลเดอร์)
Fso.createFolder (เซิร์ฟเวอร์ MapPath (โฟลเดอร์))
สิ้นสุดถ้า
ต่อไป
ตั้งค่า Fso = ไม่มีเลย
ถ้า Err.Number <> 0 แล้ว
ข้อผิดพลาดชัดเจน()
CreateFolder = เท็จ
อื่น
CreateFolder = จริง
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น getFile (paramFilePath)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
ตั้งค่า Fso_Read = fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2)
getFile = Fso_Read.readall
ตั้งค่า Fso_Read = ไม่มีเลย
ตั้งค่า Fso = ไม่มีเลย
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: CreateFile (paramFileContent, paramFilePath)
'ฟังก์ชั่น: สร้างไฟล์
'พารามิเตอร์: paramFileContent 'เนื้อหาของไฟล์
' paramFilePath 'ชื่อไฟล์ (ไม่รวมเส้นทาง)
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น CreateFile (paramFileContent, paramFilePath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim Fso, fWrite
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
ตั้งค่า fWrite = Fso.CreateTextFile(Server.Mappath(paramFilePath),true)
fWrite.write paramFileContent
fWrite.ปิด()
ตั้งค่า fWrite = ไม่มีเลย
ตั้งค่า Fso = ไม่มีเลย
ถ้า Err.number <> 0 แล้ว
ข้อผิดพลาดชัดเจน()
CreateFile = เท็จ
อื่น
CreateFile = จริง
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: DelFile(FilePath)
'ฟังก์ชัน: ลบไฟล์'
'พารามิเตอร์: FilePath 'เส้นทางไฟล์หลายไฟล์คั่นด้วย |
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น DelFile(FilePath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim fso,arrFile,i
ถ้า GetSafeStr(FilePath,)= แล้ว
CreateFolder = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
arrFile = แยก (FilePath,|)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i=0 ถึง UBound(arrFile)
FilePath = arrFile(i)
ถ้า Fso.FileExists(Server.MapPath(FilePath)) แล้ว
Fso.DeleteFile Server.MapPath (เส้นทางไฟล์)
สิ้นสุดถ้า
ต่อไป
ตั้งค่า fso = ไม่มีเลย
ถ้าเกิดข้อผิดพลาดแล้ว
ข้อผิดพลาดชัดเจน()
DelFile = เท็จ
อื่น
DelFile = จริง
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: DelFolder(FolderPath)
'ฟังก์ชัน: ลบไดเร็กทอรี'
'พารามิเตอร์: FolderPath 'เส้นทางไดเรกทอรี' หลายไดเรกทอรีถูกคั่นด้วย |
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น DelFolder(FolderPath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim Fso, arrFolder, i
ถ้า GetSafeStr(FolderPath,)= แล้ว
DelFolder = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
arrFolder = แยก (FolderPath,|)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i=0 ถึง UBound(arrFolder)
FolderPath = arrFolder(i)
ถ้า Fso.folderexists(Server.MapPath(FolderPath)) แล้ว
Fso.deleteFolder Server.MapPath (โฟลเดอร์พาธ)
สิ้นสุดถ้า
ต่อไป
ถ้าเกิดข้อผิดพลาดแล้ว
ข้อผิดพลาดชัดเจน()
DelFolder = เท็จ
'ShowError ไม่สามารถลบไดเรกทอรีได้
อื่น
DelFolder = จริง
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: IsExistFile (FilePath)
'ฟังก์ชัน: ตรวจสอบว่ามีไฟล์หรือไดเร็กทอรีอยู่หรือไม่'
'พารามิเตอร์: FilePath 'เส้นทางไฟล์หลายไฟล์คั่นด้วย |
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น IsExistFile (FilePath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim fso,arrFile,i
ถ้า GetSafeStr(FilePath,)= แล้ว
IsExistFile = เท็จ
สิ้นสุดถ้า
arrFile = แยก (FilePath,|)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i=0 ถึง UBound(arrFile)
FilePath = arrFile(i)
ถ้า Fso.FileExists(Server.MapPath(FilePath)) แล้ว
IsExistFile = จริง
สิ้นสุดถ้า
ถ้า Fso.folderexists(Server.MapPath(FilePath)) แล้ว
IsExistFile = จริง
สิ้นสุดถ้า
ต่อไป
ตั้งค่า fso = ไม่มีเลย
ถ้าเกิดข้อผิดพลาดแล้ว
ข้อผิดพลาดชัดเจน()
IsExistFile = เท็จ
'ShowError ไม่สามารถระบุได้ว่ามีไฟล์หรือไดเร็กทอรีอยู่หรือไม่
อื่น
IsExistFile = จริง
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: DelFile(FilePath)
'ฟังก์ชัน: ลบไฟล์หรือไดเร็กทอรี'
'พารามิเตอร์: FilePath 'เส้นทางไฟล์หลายไฟล์คั่นด้วย |
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น DelFile(FilePath)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim fso,arrFile,i
ถ้า GetSafeStr(FilePath,)= แล้ว
CreateFolder = เท็จ
สิ้นสุดถ้า
arrFile = แยก (FilePath,|)
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i=0 ถึง UBound(arrFile)
FilePath = arrFile(i)
ถ้า Fso.FileExists(Server.MapPath(FilePath)) แล้ว
Fso.DeleteFile Server.MapPath (เส้นทางไฟล์)
สิ้นสุดถ้า
ถ้า Fso.folderexists(Server.MapPath(FilePath)) แล้ว
Fso.deleteFolder Server.MapPath (เส้นทางไฟล์)
สิ้นสุดถ้า
ต่อไป
ตั้งค่า fso = ไม่มีเลย
ถ้าเกิดข้อผิดพลาดแล้ว
ข้อผิดพลาดชัดเจน()
DelFile = เท็จ
'ShowError การลบไฟล์หรือไดเรกทอรีล้มเหลว
อื่น
DelFile = จริง
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: ReNameFile((oldName,newName)
'ฟังก์ชัน: เปลี่ยนชื่อไฟล์หรือไดเร็กทอรี'
'พารามิเตอร์: strOldName 'ชื่อไฟล์ต้นฉบับหลายชื่อถูกคั่นด้วย |
' strNewName ' ชื่อไฟล์ใหม่หลายชื่อจะถูกคั่นด้วย |
' โปรดรักษาพารามิเตอร์ทั้งสองข้างต้นให้สอดคล้องกัน
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชัน ReNameFile (strOldName, strNewName)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
หรี่ fso, arrOld, arrNew, i, oldName, newName
เก่า = GetSafeStr (strOldName,)
ไฟล์ใหม่ = GetSafeStr (strNewName,)
ถ้าเก่า = หรือ Newfile = แล้ว
ReNameFile = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
arrOld = แยก(strOldName,|)
arrNew = แยก(strNewName,|)
ถ้า UBound(arrOld)<> UBound(arrNew) แล้ว
ReNameFile = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ตั้งค่า Fso = Server.CreateObject (Scripting.FileSystemObject)
สำหรับ i=0 ถึง UBound(arrOld)
oldName = Server.MapPath (arrOld (i))
newName = Server.MapPath (arrNew (i))
ถ้า Fso.FileExists(oldName) และไม่ใช่ Fso.FileExists(newName) แล้ว
fso.MoveFile ชื่อเก่า ชื่อใหม่
'เปลี่ยนชื่อไฟล์ = True'
สิ้นสุดถ้า
ต่อไป
ตั้งค่า fso = ไม่มีเลย
ถ้า Err.Number <> 0 แล้ว
ข้อผิดพลาดชัดเจน()
ReNameFile = เท็จ
อื่น
เปลี่ยนชื่อไฟล์ = True
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'************************************************ * ***
'ชื่อฟังก์ชัน: CopyFiles((TempSource,TempEnd)
'ฟังก์ชัน: คัดลอกไฟล์หรือไดเร็กทอรี'
'พารามิเตอร์: TempSource 'ชื่อไฟล์ต้นฉบับหลายไฟล์จะถูกคั่นด้วย |
'TempEnd' ชื่อไฟล์ปลายทางหลายชื่อจะถูกคั่นด้วย |
' หมายเหตุ: โปรดรักษาพารามิเตอร์ทั้งสองข้างต้นให้สอดคล้องกัน และทั้งสองเป็นเส้นทางแบบเต็ม
'ได้รับการประมวลผลโดยวิธี Server.MapPath
'ค่าส่งคืน: จริงเมื่อสำเร็จ, เท็จเมื่อล้มเหลว
'************************************************ * ***
ฟังก์ชั่น CopyFiles (TempSource, TempEnd)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim CopyFSO, arrSource, arrEnd
CopyFiles = เท็จ
ตั้งค่า CopyFSO = Server.CreateObject (Scripting.FileSystemObject)
ถ้า TempSource = หรือ TempEnd = แล้ว
ErrRaise คัดลอกไฟล์หรือไดเร็กทอรี เงื่อนไขว่างเปล่า
CopyFiles = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
arrSource = แยก(TempSource,|)
arrEnd = แยก(TempEnd,|)
ถ้า UBound(arrSource) <> UBound(arrEnd) แล้ว
CopyFiles=เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
สำหรับ i=0 ถึง UBound(arrSource)
srcName = arrSource(i)
tarName = arrEnd(i)
ถ้า CopyFSO.FileExists(srcName) และไม่ใช่ CopyFSO.FileExists(tarName) แล้ว
CopyFSO.CopyFile srcName,tarName
CopyFiles = จริง
สิ้นสุดถ้า
ถ้า CopyFSO.FolderExists(srcName) และไม่ใช่ CopyFSO.FolderExists(tarName)แล้ว
CopyFSO.CopyFolder srcName,tarName
CopyFiles = จริง
สิ้นสุดถ้า
ต่อไป
ตั้งค่า CopyFSO = ไม่มีเลย
ถ้าเกิดข้อผิดพลาดแล้ว
'ข้อผิดพลาดชัดเจน()
CopyFiles = เท็จ
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
-