מדריך FSO – האובייקט File
האובייקט מאפשר גישה למאפייני הקובץ או למקבץ קבצים במידה ויש אוסף של אובייקטי קובץ. לאובייקט 4 שיטות (מתודות) ו-12 מאפיינים.
האובייקט מאפשר שימוש בשיטותיו השכיחות כגון יצירה, מחיקה והעברת הקובץ.
השימוש באובייקט נעשה כך:
Set File = FSO.GetFile(FSO.GetFileName(Path))
File = fso.GetFile(fso.GetFileName(Path));
ערכו הנמצא בסוגריים של GetFile מחזיר את שם הקובץ מהנתיב Path.
באותו אופן יכולנו לכתוב את שם הקובץ (למשל file.txt,page.html) במקום כל הערך הנמצא בסוגריים.
לשם הדוגמאות בהמשך, נציב ב-Path את "C:file.txt".
המאפיין Attributes:
המאפיין מחזיר את תכונת הקובץ בסוג מספרי.
ניתן לשנות את תכונתו של הקובץ ולא רק להציגו והאפשרויות הקיימות הם:
שם ייצוגי | ערך | תאור |
רגיל | 0 | קובץ רגיל. לא הוגדרו תכונות. |
קריאה בלבד | 1 | קובץ לקריאה בלבד. התכונות הם קריאה/כתיבה. |
מוסתר | 2 | קובץ מוסתר. התכונות הם קריאה/כתיבה. |
מערכת | 4 | קובץ מערכת. התכונות הם קריאה/כתיבה. |
תפוסה | 8 | שם לוגי של כונן מחשב. התכונה היא קריאה בלבד. |
תקייה | 16 | ספרייה או תקייה. התכונה היא קריאה בלבד. |
ארכיון | 32 | קובץ ששונה לפני הגיבוי האחרון. קריאה/כתיבה. |
שם נוסף | 1024 | קישור או קיצור דרך. קריאה בלבד. |
דחוס | 2048 | קובץ דחוס. קריאה בלבד. |
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.Attributes File.Attributes = 3 Response.Write File.Attributes Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.Attributes); File.Attributes = 3; Response.Write(File.Attributes); File = null; delete File;
בדוגמא ביצענו 3 דברים:
- הדפסת תכונת הקובץ
- הגדרת תכונת הקובץ מחדש
- הדפסת התכונה החדשה
בדוגמא התכונה החדשה היא 3, כלומר הגדרנו את הקובץ לקריאה בלבד + מוסתר (1+2=3).
המאפיין DateCreated:
המאפיין מחזיר את תאריך יצירת הקובץ.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.DateCreated Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.DateCreated); File = null; delete File;
זהו מאפיין לקריאה בלבד (ללא אפשרות שינוי/הגדרה מחדש) ולכן רק הדפסנו את ערכו.
המאפיין DateLastAccessed:
המאפיין מחזיר את תאריך הגישה האחרון שבוצע לקובץ.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.DateLastAccessed Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.DateLastAccessed); File = null; delete File;
זהו מאפיין לקריאה בלבד (ללא אפשרות שינוי/הגדרה מחדש) ולכן רק הדפסנו את ערכו.
המאפיין DateLastModified:
המאפיין מחזיר את התאריך האחרון שבו ביצעו שינוי לקובץ.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.DateLastModified Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.DateLastModified); File = null; delete File;
זהו מאפיין לקריאה בלבד (ללא אפשרות שינוי/הגדרה מחדש) ולכן רק הדפסנו את ערכו.
המאפיין Drive:
המאפיין מחזיר את שם הכונן בו הקובץ נמצא לפי הנתיב שהוגדר.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.Drive Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.Drive); File = null; delete File;
בדוגמא הדפסנו רק את שם הכונן בו הקובץ נמצא (המאפיין לקריאה בלבד).
פלט הדוגמא יהיה "C:".
המאפיין Name:
המאפיין מחזיר את שמו של הקובץ לפי הנתיב שצויין.
מאפיין זה מאפשר לבצע שינוי שם לקובץ.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) File.Name = "File2.txt" Response.Write File.Name & "<br>" File.Name = "File.txt" Response.Write File.Name Set File = Nothing
var File; File = fso.GetFile(Path); File.Name = "File2.txt"; Response.Write(File.Name); File.Name = "File.txt"; Response.Write(File.Name); File = null; delete File;
בדוגמא ביצעו 4 דברים עיקריים:
- שינוי שמו של הקובץ ל"File2.txt".
- הדפסת שם הקובץ החדש.
- שינוי שם הקובץ לשמו המקורי, "File.txt" (לשם הדוגמא).
- הדפסת שמו החדש של הקובץ.
המאפיין ParentFolder:
המאפיין מחזיר את שם התקייה בה הקובץ מאוחסן.
מאפיין לקריאה בלבד.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.ParentFolder Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.ParentFolder); File = null; delete File;
בדוגמא הדפסנו את שם התקייה בה הקובץ מאוחסן ופלט הדוגמא יהיה "C:".
המאפיין Path:
המאפיין מחזיר את הנתיב המלא של הקובץ.
מאפיין לקריאה בלבד.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.Path Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.Path); File = null; delete File;
בדוגמא הדפסנו את נתיב הקובץ המלא ופלט הדוגמא יהיה "C:file.txt".
המאפיין ShortName:
המאפיין מחזיר את שם הקובץ המקוצר, לדוגמא שם הקובץ בדוס (DOS) בשימוש התו "~" על מנת לקצר את שמות הקבצים הארוכים.
מאפיין לקריאה בלבד.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.ShortName Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.ShortName); File = null; delete File;
בדוגמא הדפסנו את שמו המקוצר של הקובץ ופלט הדוגמא יהיה "File.txt".
המאפיין ShortPath:
המאפיין מחזיר את נתיב הקובץ המקוצר, לדוגמא נתיב הקובץ בדוס (DOS) בשימוש התו "~" על מנת לקצר את נתיבי הקבצים הארוכים.
מאפיין לקריאה בלבד.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.ShortPath Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.ShortPath); File = null; delete File;
בדוגמא הדפסנו את נתיבו המקוצר של הקובץ ופלט הדוגמא יהיה "C:File.txt".
המאפיין Size:
המאפיין מחזיר את גודלו של הקובץ בבייטים (Bytes).
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write FormatNumber(File.Size/1024,0) & "KB" Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.Size/1024 + "KB"); File = null; delete File;
בדוגמא הדפסנו את גודלו של הקובץ בקילו-בייט (KB).
המאפיין Type:
המאפיין מחזיר את סוג הקובץ.
שמות קבצים קיימים הם כגון "Text Document" עבור קבצי טקסט, "Zip File" עבור קבצי זיפ, "PFD File" עבור קבצי Acrobat ועוד.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) Response.Write File.Type Set File = Nothing
var File; File = fso.GetFile(Path); Response.Write(File.Type); File = null; delete File;
בדוגמא הדפסנו את סוג הקובץ ופלט הדוגמא יהיה "Text Document".
השיטה Copy:
השיטה מאפשרת העתקת קובץ או תקייה.
זוהי שיטה חלופית לשיטה CopyFile במידה ורוצים לבצע העתקה מרובת קבצים.
קיים תת מאפיין בוליאני הקובע אם תתקיים כתיבה על קובץ קיים (במידה ואותו קובץ כבר קיים). תת מאפיין זה יכול להכיל True/False. ערכו ברירת המחדל הוא True. אין חובה לציין מאפיין זה.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) File.Copy "C:file2.txt",True Set File = Nothing
var File; File = fso.GetFile(Path); File.Copy("C:\file2.txt",true); File = null; delete File;
בדוגמא ביצענו העתקה של הקובץ בשם "file2.txt" והגדרנו את תת המאפיין (כתיבה על קיים) כ-True.
השיטה Delete:
השיטה מבצעת מחיקת קובץ.
קיים תת מאפיין הקובע אם המחיקה תבצע "הכרחה" במידה והקובץ הוגדר לקריאה בלבד.
סוג המאפיין הוא בוליאני (True/False) וערכו ברירת המחדל הוא False. אין חובה לציין מאפיין זה.
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) File.Delete Set File = Nothing
var File; File = fso.GetFile(Path); File.Delete(); File = null; delete File;
בדוגמא ביצענו מחיקה של הקובץ "c:file.txt" והגדרת "הכרחת מחיקה" היא False (ברירת המחדל).
השיטה Move:
השיטה מעבירה את הקובץ הרצוי לנתיב חדש.
יש לזכור שהנתיב החדש צריך לכלול את שם הקובץ המועבר.
ניתן לשנות את שם הקובץ המועבר (בנוסף לנתיב הקובץ החדש).
דוגמא לשימוש:
Dim File Set File = FSO.GetFile(Path) File.Move "C:newfolderfile.txt" Set File = Nothing
var File; File = fso.GetFile(Path); File.Move ("C:\newfolder\file.txt"); File = null; delete File;
בדוגמא העברנו את הקובץ file.txt מהנתיב C: אל C:newfolder.
ניתן היה להעביר את הקובץ כולל שינוי שמו, לדוגמא: "C:newfoldernewfile.txt".
השיטה OpenAsTextStream:
השיטה פותחת את הקובץ כמחרוזת טקסט.
לשיטה 2 ארגומנטים:
א. מצב קלט/פלט:
שם ייצוגי | ערך | תאור |
קריאה | 1 | קובץ עבור קריאה בלבד. לא ניתן לכתוב לתוכו |
כתיבה | 2 | קובץ עבור כתיבה. במידה והקובץ קיים תוכנו החדש ייכתב על תוכנו הישן |
הוספת נתונים | 8 | פתיחת הקובץ עבור הוספת נתונים מסוף הקובץ |
ב. פורמט פתיחת הקובץ (אופציונאלי):
שם ייצוגי | ערך | תאור |
ברירת מחדל | -2 | פותח את הקובץ בשימוש ברירת מחדל מערכת |
יוניקוד | -1 | פותח את הקובץ כיוניקוד (Unicode) |
אסקי | 0 | פותח את הקובץ כאסקי (ASCII) |
דוגמא לשימוש:
Dim File, Data Set File = FSO.GetFile(Path) Set Data = File. OpenAsTextStream(2,0) Data.Write "some data" Data.Close Set Data = File. OpenAsTextStream(1,0) Response.Write Data.ReadAll Data.Close Set File = Nothing
var File, Data; File = fso.GetFile(Path); Data = File. OpenAsTextStream(2,0) Data.Write("some data"); Data.Close(); Data = File. OpenAsTextStream(1,0) Response.Write(Data.ReadAll()); Data.Close(); File = null; delete File;
בדוגמא ביצענו 2 פעולות:
1. כתיבה לקובץ – הגדרנו את הקובץ לכתיבה וכתבנו בו את הטקסט "some data".
2. קריאה מהקובץ – הגדרנו את הקובץ לקריאה בלבד והדפסנו את כל תוכנו בעמוד.
מאחר והגדרנו את הקובץ לכתיבה בלבד כל תוכנו הקודם נמחק והוחלף בטקסט "some data" ולא התווסף לתוכן הקיים בקובץ.
תגובות בפייסבוק