מדריך FSO – האובייקט Folder
האובייקט מאפשר גישה למאפייני התקיה. ניתן לגשת לכל מאפייני ושיטות האובייקט כגון יצירה,העתקה,מחיקה והעברה. בנוסף, ניתן ליצור קבצי טקסט בעזרת אובייקט זה.
לאובייקט 4 שיטות (מתודות) ו-15 מאפיינים.
השימוש באובייקט נעשה כך:
Set Folder = FSO.GetFolder(Path)
Folder = fso.GetFolder(Path);
ערך ה-Path יכול להיות נתיב פיזי מלא או בעזרת Server.MapPath.
לשם הדוגמאות בהמשך, נציב ב-Path את "C:Folder"
המאפיין Attributes:
המאפיין מחזיר את תכונת הקובץ בסוג מספרי.
ניתן לשנות את תכונתו של הקובץ ולא רק להציגו והאפשרויות הקיימות הם:
שם ייצוגי | ערך | תאור |
רגיל | 0 | קובץ רגיל. לא הוגדרו תכונות. |
קריאה בלבד | 1 | קובץ לקריאה בלבד. התכונות הם קריאה/כתיבה. |
מוסתר | 2 | קובץ מוסתר. התכונות הם קריאה/כתיבה. |
מערכת | 4 | קובץ מערכת. התכונות הם קריאה/כתיבה. |
תפוסה | 8 | שם לוגי של כונן מחשב. התכונה היא קריאה בלבד. |
תקייה | 16 | ספרייה או תקייה. התכונה היא קריאה בלבד. |
ארכיון | 32 | קובץ ששונה לפני הגיבוי האחרון. קריאה/כתיבה. |
שם נוסף | 1024 | קישור או קיצור דרך. קריאה בלבד. |
דחוס | 2048 | קובץ דחוס. קריאה בלבד. |
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.Attributes Folder.Attributes = Folder.Attributes+32 Response.Write Folder.Attributes Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Attributes); Folder.Attributes = Folder.Attributes+32; Response.Write(Folder.Attributes); Folder = null; delete Folder;
בדוגמא ביצענו 3 דברים:
- הדפסת תכונת התקיה
- הגדרת תכונת התקיה מחדש
- הדפסת התכונה החדשה
בדוגמא התכונה החדשה היא 48, כלומר הגדרנו את התקיה כתקיה + ארכיון (16+32=48).
המאפיין DateCreated:
המאפיין מחזיר את תאריך יצירת התקיה.
מאפיין לקריאה בלבד.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.DateCreated Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.DateCreated); Folder = null; delete Folder;
בדוגמא הדפסנו את תאריך יצירת התקיה.
המאפיין DateLastAccessed:
המאפיין מחזיר את תאריך הגישה האחרון שבוצע לתקיה.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.DateLastAccessed Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.DateLastAccessed); Folder = null; delete Folder;
בדוגמא הדפסנו את תאריך הגישה האחרון לתקיה.
המאפיין DateLastModified:
המאפיין מחזיר את התאריך האחרון שבו ביצעו שינוי לתקיה.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.DateLastModified Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.DateLastModified); Folder = null; delete Folder;
בדוגמא הדפסנו את התאריך האחרון בו ביצעו שינוי לתקיה.
המאפיין Drive:
המאפיין מחזיר את שם הכונן בו התקיה נמצאת לפי הנתיב שהוגדר.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder. Drive Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Drive); Folder = null; delete Folder;
בדוגמא הדפסנו את שם הכונן בו התקיה נמצאת.
פלט הדוגמא יהיה "C:".
המאפיין Files:
המאפיין מחזיר את כל הקבצים הקיימים בתקיה הנוכחית (בעזרת לולאה).
בלולאה בקוד ה-JS זה יחזיר את נתיב הקובץ המלא ויש להתחכם על מנת להציג את שם הקובץ בלבד.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) For Each File In Folder.Files Response.Write File.Name & "<br>" Next Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); var numFiles = new Enumerator(Folder.Files); var Files = ""; for(;!numFiles.atEnd(); numFiles.moveNext()) { Files = new String(numFiles.item()); Response.Write(Files.substr(Files.lastIndexOf("\")+1,Files.length)+"<br>"); } Folder = null; delete Folder;
בדוגמא הדפסנו את שמות כל הקבצים הקיימים בתקיה.
המאפיין IsRootFolder:
המאפיין מחזיר האם התקיה הנוכחית היא תקיה ראשית.
הערך המוחזר הוא ערך בוליאני (True/False).
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.IsRootFolder Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.IsRootFolder); Folder = null; delete Folder;
בדוגמא הדפסנו את פלט הערך הבוליאני של המאפיין.
הפלט בדוגמא יהיה True.
המאפיין Name:
המאפיין מחזיר את שמו של התקיה לפי הנתיב שצוין.
מאפיין זה מאפשר לבצע שינוי שם לתקיה.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.Name Folder.Name = "newfolder" Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Name); Folder.Name = "newfolder"; Folder = null; delete Folder;
בדוגמא הדפסנו את שם התקיה הנוכחית ולאחר מכן ביצענו שינוי שם לתקיה לשם "new folder".
המאפיין ParentFolder:
המאפיין מחזיר את נתיב תקיית האב (הראשית) של התקיה הנוכחית.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.ParentFolder Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.ParentFolder); Folder = null; delete Folder;
בדוגמא הדפסנו את ערך המאפיין והפלט בדוגמא יהיה "C:".
המאפיין Path:
המאפיין מחזיר את הנתיב הפיזי המלא של התקיה הנוכחית.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.Path Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Path); Folder = null; delete Folder;
בדוגמא הדפסנו את הנתיב הפיזי המלא של התקיה הנוכחית והפלט בדוגמא יהיה "C:Folder".
המאפיין ShortName:
המאפיין מחזיר את שם התקיה המקוצר (ISO9660) המופעל תחת MS-DOS FAT16.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.ShortName Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.ShortName); Folder = null; delete Folder;
בדוגמא הדפסנו את שם התקיה המקוצרת והפלט יהיה "Folder".
המאפיין ShortPath:
המאפיין מחזיר את הנתיב הפיזי המקוצר (ISO9660) של התקיה המופעל תחת MS-DOS FAT16
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.ShortPath Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.ShortPath); Folder = null; delete Folder;
בדוגמא הדפסנו את הנתיב הפיזי המקוצר והפלט בדוגמא יהיה "C:Folder".
המאפיין Size:
המאפיין מחזיר את גודל התקיה הנוכחית בבייטים (bytes).
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.Size Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Size); Folder = null; delete Folder;
בדוגמא הדפסנו את גודל התקיה בבייטים ומאחר והתקיה ריקה מקבצים הפלט המוחזר יהיה 0.
המאפיין SubFolders:
המאפיין מחזיר את שמות תתי התקיות הקיימות בתוך התקיה הנוכחית.
יש להשתמש בלולאת For על מנת לעבור על כל תתי התקיות בתקיה הנוכחית.
בלולאה בקוד ה-JS זה יחזיר את נתיב התקיה המלא ויש להתחכם על מנת להציג את שם התקיה בלבד.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) For Each SubFolder In Folder.SubFolders Response.Write SubFolder.Name & "<br>" Next Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); var numSubFolders = new Enumerator(Folder.SubFolders); var SubFolder = ""; for(; !numSubFolders.atEnd(); numSubFolders.moveNext()) { SubFolder = new String(numSubFolders.item()); Response.Write(SubFolder.substr(SubFolder.lastIndexOf("\")+1,SubFolder.length)+"<br>"); } Folder = null; delete Folder;
בדוגמא כתבנו לולאה שתעבור על כל תתי התקיות הקיימות בתקיה הנוכחית והדפסנו את שם כל תת תקיה.
המאפיין Type:
המאפיין מחזיר את סוג התקיה.
המאפיין נמצא בשימוש גם באובייקט ה-File ועבורו הוא יציג את סוג הקובץ.
עבור תקיה הוא יציג את הפלט "File" או "Folder File".
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Response.Write Folder.Type Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Response.Write(Folder.Type); Folder = null; delete Folder;
בדוגמא הדפסנו את סוג התקיה והפלט יהיה "Folder File".
השיטה Copy:
השיטה מאפשרת העתקת תקיה או קובץ.
זוהי שיטה חלופית לשיטה CopyFolder במידה ורוצים לבצע העתקה מרובת תקיות.
קיים תת מאפיין בוליאני הקובע אם תתקיים כתיבה על תקיה קיימת (במידה ואותה תקיה כבר קיימת). תת מאפיין זה יכול להכיל True/False. ערכו ברירת המחדל הוא True.
אין חובה לציין מאפיין זה.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Folder.Copy "C:Foler_copy",True Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Folder.Copy("C:\Folder_copy",true); Folder = null; delete Folder;
בדוגמא העתקנו את התקיה "Folder" עם השם "Folder_copy".
השיטה Delete:
השיטה מבצעת מחיקת תקייה.
קיים תת מאפיין הקובע אם המחיקה תבצע "הכרחה" במידה והתקיה הוגדרה לקריאה בלבד.
סוג המאפיין הוא בוליאני (True/False) וערכו ברירת המחדל הוא False.
אין חובה לציין מאפיין זה.
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Folder.Delete(False) Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Folder.Delete(false); Folder = null; delete Folder;
בדוגמא ביצענו מחיקה של התקיה הנוכחית והגדרנו מאפיין פנימי ל-False שבעצם לא ימחק את התקיה במידה והיא מוגדרת לקריאה בלבד.
השיטה Move:
השיטה מעבירה את התקיה הרצויה לנתיב חדש.
יש לזכור שהנתיב החדש צריך לכלול את שם התקיה המועברת.
ניתן לשנות את שם התקיה המועברת (בנוסף לנתיב התקיה החדש).
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Folder.Move "C:newFolder" Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Folder.Move("C:newFolder"); Folder = null; delete Folder;
בדוגמא העברנו את התקיה אל הנתיב "C:newFolder" ובנוסף ביצענו שינוי שם לתקיה.
השיטה CreateTextFile:
השיטה מאפשרת ליצור קובץ בתוך התקיה הנוכחית.
לשיטה קיימים 3 הגדרות:
- שם הקובץ – שם הקובץ שניצור (חובה)
- כתיבה על קיים – במידה והקובץ כבר קיים, האם תתבצע כתיבה מחדש (?) (לא חובה)
- יוניקוד – האם הקובץ שניצור יהיה בפורמט יוניקוד (לא חובה)
ההגדרות של כתיבה על קיים ויוניקוד הינם מסוג בוליאני בלבד (True/False).
דוגמא לשימוש:
Dim Folder Set Folder = FSO.GetFolder(Path) Folder.CreateTextFile "test_file.txt",True,False Set Folder = Nothing
var Folder; Folder = fso.GetFolder(Path); Folder.CreateTextFile("test_file.txt",true,false); Folder = null; delete Folder;
בדוגמא יצרנו בתקיה "Folder" קובץ טקסט בשם "test_file.txt" והגדרנו שבמידה והקובץ כבר קיים תתבצע כתיבה מחדש והגדרנו שהקובץ לא יהיה בפורמט יוניקוד.
תגובות בפייסבוק