מדריך FSO – האובייקט Folder

האובייקט מאפשר גישה למאפייני התקיה. ניתן לגשת לכל מאפייני ושיטות האובייקט כגון יצירה,העתקה,מחיקה והעברה. בנוסף, ניתן ליצור קבצי טקסט בעזרת אובייקט זה.
לאובייקט 4 שיטות (מתודות) ו-15 מאפיינים.

השימוש באובייקט נעשה כך:

VBScriptJScript

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 קובץ דחוס. קריאה בלבד.

דוגמא לשימוש:

VBScriptJScript

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 דברים:

  1. הדפסת תכונת התקיה
  2. הגדרת תכונת התקיה מחדש
  3. הדפסת התכונה החדשה

בדוגמא התכונה החדשה היא 48, כלומר הגדרנו את התקיה כתקיה + ארכיון (16+32=48).

המאפיין DateCreated:

המאפיין מחזיר את תאריך יצירת התקיה.
מאפיין לקריאה בלבד.

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את תאריך הגישה האחרון שבוצע לתקיה.

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את התאריך האחרון שבו ביצעו שינוי לתקיה.

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את שם הכונן בו התקיה נמצאת לפי הנתיב שהוגדר.

דוגמא לשימוש:

VBScriptJScript

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 זה יחזיר את נתיב הקובץ המלא ויש להתחכם על מנת להציג את שם הקובץ בלבד.

דוגמא לשימוש:

VBScriptJScript

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).

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את שמו של התקיה לפי הנתיב שצוין.
מאפיין זה מאפשר לבצע שינוי שם לתקיה.

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את נתיב תקיית האב (הראשית) של התקיה הנוכחית.

דוגמא לשימוש:

VBScriptJScript

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:

המאפיין מחזיר את הנתיב הפיזי המלא של התקיה הנוכחית.

דוגמא לשימוש:

VBScriptJScript

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.

דוגמא לשימוש:

VBScriptJScript

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

דוגמא לשימוש:

VBScriptJScript

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).

דוגמא לשימוש:

VBScriptJScript

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 זה יחזיר את נתיב התקיה המלא ויש להתחכם על מנת להציג את שם התקיה בלבד.

דוגמא לשימוש:

VBScriptJScript

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".

דוגמא לשימוש:

VBScriptJScript

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.
אין חובה לציין מאפיין זה.

דוגמא לשימוש:

VBScriptJScript

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.
אין חובה לציין מאפיין זה.

דוגמא לשימוש:

VBScriptJScript

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:

השיטה מעבירה את התקיה הרצויה לנתיב חדש.
יש לזכור שהנתיב החדש צריך לכלול את שם התקיה המועברת.
ניתן לשנות את שם התקיה המועברת (בנוסף לנתיב התקיה החדש).

דוגמא לשימוש:

VBScriptJScript

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).

דוגמא לשימוש:

VBScriptJScript

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" והגדרנו שבמידה והקובץ כבר קיים תתבצע כתיבה מחדש והגדרנו שהקובץ לא יהיה בפורמט יוניקוד.

תגיות: , , , , ,

BuildHome

מפתח אתרים ואפליקציות ווב מנוסה

תגובות בפייסבוק