LibreOfficeDev 25.8 Βοήθεια
Η υπηρεσία FileSystem περιλαμβάνει ρουτίνες για το χειρισμό αρχείων και φακέλων. Ακολουθούν ορισμένα παραδείγματα των δυνατοτήτων που παρέχονται από αυτήν την υπηρεσία:
Επιβεβαίωση ύπαρξης αρχείου ή φακέλου.
Δημιουργία και διαγραφή φακέλων και αρχείων.
Εκκίνηση πλαισίων διαλόγου φια άνοιγμα/αποθήκευση αρχείων.
Πρόσβαση στον κατάλογο αρχείων σε έναν φάκελο, κλπ.
Οι μέθοδοι στην υπηρεσία FileSystem βασίζονται ως επί το πλείστον στη διεπαφή XSimpleFileAccess του UNO.
Ο παρακάτω πίνακας παραθέτει τις κύριες παραμέτρους που χρησιμοποιούνται από τις περισσότερες μεθόδους στην υπηρεσία FileSystem.
| Παράμετρος | Περιγραφή | 
|---|---|
| FileName | Το πλήρες όνομα του αρχείου, συμπεριλαμβανομένης της διαδρομής χωρίς διαχωριστικό διαδρομής στο τέλος. | 
| FolderName | Το πλήρες όνομα του φακέλου συμπεριλαμβανομένης της διαδρομής. Μπορεί να περιέχει ή όχι το διαχωριστικό τελικής διαδρομής. | 
| Name | Το τελευταίο στοιχείο του Folder Name (ονόματος φακέλου), ή του File Name (ονόματος αρχείου) συμπεριλαμβανομένης της επέκτασής του. Αυτή η παράμετρος εκφράζεται πάντα χρησιμοποιώντας την εγγενή μορφή του λειτουργικού συστήματος. | 
| BaseName | Το τελευταίο στοιχείο του Folder Name ή του File Name χωρίς την επέκτασή του. | 
| NamePattern | Οποιοδήποτε από τα παραπάνω ονόματα περιέχει χαρακτήρες υποκατάστασης στο τελευταίο συστατικό του. Οι αποδεκτές υποκαταστάσεις είναι: 
 | 
Η υπηρεσία FileSystem επιτρέπει την εκτέλεση λειτουργιών σε πολλά αρχεία ταυτόχρονα. Χρησιμοποιώντας μοτίβα ονομάτων, τα σενάρια χρήστη μπορούν να αντιγράψουν, να μετακινήσουν ή να διαγράψουν πολλά αρχεία. Αντίθετα, οι βασικές ενσωματωμένες μέθοδοι μπορούν να χειριστούν μόνο μεμονωμένα αρχεία.
Η σημειογραφία που χρησιμοποιείται για την έκφραση ονομάτων αρχείων και φακέλων, τόσο για ορίσματα όσο και για τιμές που επιστρέφονται, ορίζεται από την ιδιότητα FileNaming της υπηρεσίας FileSystem.
Εν συντομία, οι πιθανοί τύποι αναπαράστασης είναι "URL" (σημειογραφία αρχείου URL), "SYS" (σημειογραφία λειτουργικού συστήματος) και "ANY" (προεπιλογή). Δείτε περισσότερες πληροφορίες παρακάτω.
Ένα παράδειγμα της σημειογραφίας της διεύθυνσης URL είναι το file:///C:/Documents/my_file.odt. Όποτε είναι δυνατόν, σκεφτείτε να χρησιμοποιήσετε τη σημειογραφία URL, επειδή είναι μια πιο φορητή εναλλακτική.
Η χρήση της συντόμευσης "~" (tilde), η οποία είναι κοινή σε λειτουργικά συστήματα που βασίζονται σε Linux, δεν υποστηρίζεται για την έκφραση μιας διαδρομής προς ένα φάκελο και ένα όνομα αρχείου. Αντί να χρησιμοποιήσετε το "~/Documents/my_file.odt" χρησιμοποιήστε την πλήρη διαδρομή "/home/user/Documents/my_file.odt".
Το ακόλουθο απόσπασμα κώδικα καλεί την υπηρεσία FileSystem. Ως παράδειγμα χρησιμοποιήθηκε η μέθοδος BuildPath.
      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim FSO As Object
      Set FSO = CreateScriptService("FileSystem")
      FSO.BuildPath(...)
    
      from scriptforge import CreateScriptService
      fs = CreateScriptService("FileSystem")
      fs.BuildPath(...)
    Τα αρχεία εγγράφων του LibreOfficeDev είναι συμπιεσμένα αρχεία ZIP που περιέχουν τα αρχεία και τους φακέλους που αντιπροσωπεύουν το πραγματικό περιεχόμενο του εγγράφου. Ενώ το έγγραφο είναι ανοιχτό, μπορείτε να προσπελάσετε αυτό το εικονικό σύστημα αρχείων, να εξερευνήσετε τη δομή του, καθώς και να διαβάσετε και να δημιουργήσετε αρχεία και φακέλους.
Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσετε ένα αρχείο κειμένου με το όνομα myFile.txt και να το αποθηκεύσετε στο εικονικό σύστημα αρχείων του εγγράφου.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oDoc As Object, fso As Object, oFile As Object
    Dim sRoot, sFile, sMyDir
    Set fso = CreateScriptService("FileSystem")
    Set oDoc = CreateScriptService("Document", ThisComponent)
    ' Λαμβάνει τη σημειογραφία της διαδρομής URL στη ρίζα του εικονικού συστήματος αρχείων
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    Δημιουργεί το φάκελο "myDir" εάν δεν υπάρχει
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Δημιουργεί το αρχείο και γράφει κάποιο κείμενο σε αυτό
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    fso = CreateScriptService("FileSystem")
    sRoot = doc.FileSystem
    sMyDir = sRoot + "myDir"
    if not fso.FolderExists(sMyDir):
        fso.CreateFolder(sMyDir)
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  Γενικά, όλες οι μέθοδοι της υπηρεσίας FileSystem μπορούν να χρησιμοποιηθούν για τον χειρισμό αρχείων στο εικονικό σύστημα αρχείων του εγγράφου. Ωστόσο, ισχύουν οι ακόλουθοι περιορισμοί:
Δεν είναι δυνατή η δημιουργία αρχείων στον ριζικό φάκελο. Χρησιμοποιήστε υπάρχοντες υποφακέλους ή δημιουργήστε νέους φακέλους για να αποθηκεύσετε αρχεία στο σύστημα αρχείων του εγγράφου.
Η σημειογραφία FileNaming θεωρείται πάντα ως "URL".
Οι μέθοδοι CompareFiles, GetFileModified, HashFile, PickFile και PickFolder δεν ισχύουν.
Η μέθοδος GetFileLen επιστρέφει πάντα το μηδέν.
Η μέθοδος Normalize επιστρέφει πάντα τη συμβολοσειρά εισόδου αμετάβλητη.
Η διαδρομή προς το εικονικό σύστημα αρχείων δεν είναι μια φυσική διεύθυνση στον σκληρό δίσκο του υπολογιστή. Η πρόσβαση σε αυτό είναι δυνατή μόνο από ένα σενάριο του LibreOfficeDev και υπάρχει μόνο όταν το αρχείο εγγράφου είναι ανοιχτό.
| Όνομα | Μόνο για ανάγνωση | Τύπος | Περιγραφή | 
|---|---|---|---|
| FileNaming | Όχι | String | Ορίζει ή επιστρέφει τη σημειογραφία των τρεχόντων αρχείων και φακέλων, είτε "ANY", "URL" ή "SYS": 
 Αφού οριστεί, η ιδιότητα FileNaming παραμένει αμετάβλητη είτε μέχρι το τέλος της συνεδρίας του LibreOfficeDev, είτε μέχρι να οριστεί ξανά. | 
| ConfigFolder | Ναι | String | Επιστρέφει τον φάκελο διαμόρφωσης του LibreOfficeDev. | 
| ExtensionsFolder | Ναι | String | Επιστρέφει τον φάκελο όπου είναι εγκατεστημένες οι επεκτάσεις. | 
| HomeFolder | Ναι | String | Επιστρέφει τον αρχικό φάκελο του χρήστη. | 
| InstallFolder | Ναι | String | Επιστρέφει τον φάκελο εγκατάστασης του LibreOfficeDev. | 
| TemplatesFolder | Ναι | String | Επιστρέφει τον φάκελο που περιέχει τα αρχεία προτύπων του συστήματος. | 
| TemporaryFolder | Ναι | String | Επιστρέφει τον φάκελο των προσωρινών αρχείων που έχει οριστεί στις ρυθμίσεις διαδρομής του LibreOfficeDev. | 
| UserTemplatesFolder | Ναι | String | Επιστρέφει τον φάκελο που περιέχει τα αρχεία προτύπων του χρήστη. | 
Συνδέει μια διαδρομή φακέλου και το όνομα ενός αρχείου και επιστρέφει το πλήρες όνομα του αρχείου με ένα έγκυρο διαχωριστικό διαδρομής. Το διαχωριστικό διαδρομής προστίθεται μόνο εάν είναι απαραίτητο.
svc.BuildPath(foldername: str, name: str): str
foldername (όνομα φακέλου) : Η διαδρομή με την οποία θα συνδυαστεί το name. Η καθορισμένη διαδρομή δεν χρειάζεται να είναι υφιστάμενος φάκελος.
name (όνομα): Το όνομα του αρχείου που θα προστεθεί στο foldername (όνομα φακέλου). Αυτή η παράμετρος χρησιμοποιεί τη σημειογραφία του τρέχοντος λειτουργικού συστήματος.
      Dim FSO as Object
      Set FSO = CreateScriptService("FileSystem")
      Dim aFileName as String
      FSO.FileNaming = "URL"
      aFileName = FSO.BuildPath("file:///home/user", "sample file.odt")
      ' file:///home/user/sample%20file.odt
    
      fs = CreateScriptService("FileSystem")
      fs.FileNaming = "URL"
      aFileName = fs.BuildPath("file:///home/user", "sample file.odt")
      # file:///home/user/sample%20file.odt
    Συγκρίνει δύο αρχεία και επιστρέφει True όταν φαίνονται ταυτόσημα.
Ανάλογα με την τιμή του ορίσματος comparecontents (σύγκριση περιεχομένων), η σύγκριση μεταξύ των δύο αρχείων μπορεί να βασίζεται είτε μόνο σε γνωρίσματα αρχείου (όπως η ημερομηνία τελευταίας τροποποίησης,) είτε στα περιεχόμενα του αρχείου.
svc.CompareFiles(filename1: str, filename2: str, comparecontents: bool = False): bool
filename1, filename2: Τα ονόματα των αρχείων προς σύγκριση.
comparecontents (σύγκριση περιεχομένων): Όταν είναι True, τα περιεχόμενα των αρχείων συγκρίνονται (προεπιλογή = False).
      FSO.FileNaming = "SYS"
      If FSO.CompareFiles("C:\myFile1.txt", "C:\myFile2.txt", CompareContents := False) Then
          ' ...
      End If
    
      fs.FileNaming = "SYS"
      if fs.CompareFiles(r"C:\myFile1.txt", r"C:\myFile2.txt", comparecontents = False):
          # ...
    Αντιγράφει ένα ή περισσότερα αρχεία από τη μια θέση στην άλλη. Επιστρέφει True εάν έχει αντιγραφεί τουλάχιστον ένα αρχείο, ή False εάν προέκυψε σφάλμα.
Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανένα αρχείο.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.CopyFile(source: str, destination: str, overwrite: bool = True): bool
source (προέλευση): Μπορεί να είναι ένα FileName ή ένα NamePattern που υποδεικνύει ένα ή περισσότερα αρχεία προς αντιγραφή.
destination (προορισμός): Μπορεί να είναι είτε FileName (όνομα αρχείου) που καθορίζει πού θα αντιγραφεί το μεμονωμένο αρχείο source (προέλευση), ή FolderName (όνομα φακέλου) στο οποίο πρόκειται να αντιγραφούν τα πολλαπλά αρχεία από την source.
Εάν δεν υπάρχει destination (προορισμός), δημιουργείται.
Οι χαρακτήρες υποκατάστασης δεν επιτρέπονται στον destination (προορισμό).
overwrite (αντικατάσταση): Εάν είναι True (προεπιλογή), τα αρχεία ενδέχεται να αντικατασταθούν. Η μέθοδος θα αποτύχει εάν ο destination (προορισμός) είναι μόνο για ανάγνωση, ανεξάρτητα από την τιμή που καθορίζεται στο overwrite.
Στα παρακάτω παραδείγματα, η πρώτη γραμμή αντιγράφει ένα μόνο αρχείο, ενώ η δεύτερη γραμμή αντιγράφει πολλά αρχεία χρησιμοποιώντας χαρακτήρες υποκατάστασης.
      FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
      FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)
    
      fs.CopyFile(r"C:\Documents\my_file.odt", r"C:\Temp\copied_file.odt")
      fs.CopyFile(r"C:\Documents\*.*", r"C:\Temp", overwrite = False)
    Λάβετε υπόψη ότι οι υποφάκελοι και τα περιεχόμενά τους δεν αντιγράφονται όταν χρησιμοποιούνται χαρακτήρες υποκατάστασης στο όρισμα source.
Αντιγράφει έναν ή περισσότερους φακέλους από τη μια θέση σε μια άλλη. Επιστρέφει True εάν έχει αντιγραφεί τουλάχιστον ένας φάκελος, ή False εάν παρουσιάστηκε σφάλμα.
Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανέναν φάκελο.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.CopyFolder(source: str, destination: str, overwrite: bool = True): bool
source: Μπορεί να είναι ένα FolderName, ή ένα NamePattern που υποδεικνύει έναν ή περισσότερους φακέλους προς αντιγραφή.
destination: Καθορίζει το FolderName στον οποίο θα αντιγραφούν οι μεμονωμένοι ή πολλοί φάκελοι που ορίζονται στην source.
Εάν δεν υπάρχει destination (προορισμός), δημιουργείται.
Οι χαρακτήρες υποκατάστασης δεν επιτρέπονται στον destination (προορισμό).
overwrite (αντικατάσταση): Εάν είναι True (προεπιλογή), τα αρχεία ενδέχεται να αντικατασταθούν. Η μέθοδος θα αποτύχει εάν ο destination (προορισμός) είναι μόνο για ανάγνωση, ανεξάρτητα από την τιμή που καθορίζεται στο overwrite.
Στα παρακάτω παραδείγματα αντιγράφονται όλα τα αρχεία, οι φάκελοι και οι υποφάκελοι.
      ' Basic
      FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False)
    
      # Python
      fs.CopyFolder(r"C:\Documents\*", r"C:\Temp", overwrite = False)
    Δημιουργεί το καθορισμένο FolderName (όνομα φακέλου). Επιστρέφει True, εάν ο φάκελος δημιουργήθηκε με επιτυχία.
Εάν ο καθορισμένος φάκελος έχει έναν γονικό φάκελο που δεν υπάρχει, δημιουργείται.
svc.CreateFolder(foldername: str): bool
foldername (όνομα φακέλου): Μια συμβολοσειρά που αντιπροσωπεύει τον φάκελο που θα δημιουργηθεί. Εάν ο φάκελος υπάρχει ήδη, θα δημιουργηθεί μια εξαίρεση.
      ' Basic
      FSO.CreateFolder("C:\NewFolder")
    
      # Python
      fs.CreateFolder(r"C:\NewFolder")
    Δημιουργεί ένα καθορισμένο αρχείο και επιστρέφει μια παρουσία υπηρεσίας TextStream που μπορεί να χρησιμοποιηθεί για την εγγραφή στο αρχείο.
Η μέθοδος επιστρέφει ένα αντικείμενο Null εάν παρουσιαστεί σφάλμα.
svc.CreateTextFile(filename: str, overwrite: bool = True, encoding: str = 'UTF-8'): svc
filename (όνομα αρχείου): Το όνομα του αρχείου που θα δημιουργηθεί.
overwrite (αντικατάσταση): Δυαδική τιμή που καθορίζει εάν το filename (όνομα αρχείου) μπορεί να αντικατασταθεί (προεπιλογή = True).
encoding (κωδικοποίηση): Το σύνολο των χαρακτήρων που θα χρησιμοποιηθεί. Η προεπιλεγμένη κωδικοποίηση είναι "UTF-8".
      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True)
    
      fs.FileNaming = "SYS"
      myFile = fs.CreateTextFile(r"C:\Temp\ThisFile.txt", overwrite = True)
    Για να μάθετε περισσότερα σχετικά με τα ονόματα των συνόλων χαρακτήρων, επισκεφτείτε τη σελίδα Σύνολο χαρακτήρων του IANA. Λάβετε υπόψη ότι το LibreOfficeDev δεν υλοποιεί όλα τα υπάρχοντα σύνολα χαρακτήρων.
Διαγράφει ένα ή περισσότερα αρχεία. Επιστρέφει True, εάν έχει διαγραφεί τουλάχιστον ένα αρχείο, ή False εάν προέκυψε σφάλμα.
Θα προκύψει επίσης σφάλμα εάν η παράμετρος filename (όνομα αρχείου) χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανένα αρχείο.
Τα αρχεία που θα διαγραφούν δεν πρέπει να είναι μόνο για ανάγνωση.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.DeleteFile(filename: str): bool
filename (όνομα αρχείου): Μπορεί να είναι FileName, ή NamePattern που υποδεικνύει ένα ή περισσότερα αρχεία προς διαγραφή.
Στα παρακάτω παραδείγματα διαγράφονται μόνο αρχεία, ενώ οι υποφάκελοι δεν διαγράφονται.
      ' Basic
      FSO.DeleteFile("C:\Temp\*.docx")
    
      # Python
      fs.DeleteFile(r"C:\Temp\*.docx")
    Διαγράφει έναν ή περισσότερους φακέλους. Επιστρέφει True εάν έχει διαγραφεί τουλάχιστον ένας φάκελος ή False εάν προέκυψε σφάλμα.
Θα προκύψει επίσης σφάλμα, εάν η παράμετρος foldername (όνομα φακέλου) χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανέναν φάκελο.
Οι φάκελοι που θα διαγραφούν δεν πρέπει να είναι μόνο για ανάγνωση.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.DeleteFolder(foldername: str): bool
foldername (όνομα φακέλου): Μπορεί να είναι ένα FolderName ή ένα NamePattern που υποδεικνύει έναν ή περισσότερους φακέλους προς διαγραφή.
Στα παρακάτω παραδείγματα διαγράφονται μόνο οι φάκελοι και τα περιεχόμενά τους. Τα αρχεία στον γονικό φάκελο "C:\Temp" δεν διαγράφονται.
      ' Basic
      FSO.DeleteFolder("C:\Temp\*")
    
      # Python
      fs.DeleteFolder(r"C:\Temp\*")
    Επιστρέφει μια συμβολοσειρά που περιέχει το φάκελο, όπου είναι εγκατεστημένο το καθορισμένο πακέτο επέκτασης.
Η τρέχουσα τιμή της ιδιότητας SF_FileSystem.FileNaming χρησιμοποιείται για τον προσδιορισμό της σημειογραφίας της συμβολοσειράς που επιστρέφεται.
Χρησιμοποιήστε την ιδιότητα Extensions (Επεκτάσεις) από την Platform (Πλατφόρμα) υπηρεσία λήψης πίνακα συμβολοσειρών με τα αναγνωριστικά όλων των εγκατεστημένων επεκτάσεων.
svc.ExtensionFolder(extension: str): str
extension (επέκταση): Μια τιμή συμβολοσειράς με το αναγνωριστικό της επέκτασης. Εάν η επέκταση δεν είναι εγκατεστημένη, δημιουργείται μια εξαίρεση.
Τα παρακάτω παραδείγματα σε Basic και Python επιστρέφουν τον φάκελο όπου είναι εγκατεστημένη η επέκταση APSO.
      ' Basic
      sFolder = FSO.ExtensionFolder("apso.python.script.organizer")
      ' file:///home/username/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu10833wz3u2i.tmp_/apso_1_2_7.oxt
    
      # Python
      sFolder = fs.ExtensionFolder("apso.python.script.organizer")
    Επιστρέφει True εάν ένα δεδομένο όνομα αρχείου είναι έγκυρο και υπάρχει, διαφορετικά η μέθοδος επιστρέφει False.
Εάν η παράμετρος filename (όνομα αρχείου) είναι στην πραγματικότητα ένα υπάρχον όνομα φακέλου, η μέθοδος επιστρέφει False.
svc.FileExists(filename: str): bool
filename (όνομα αρχείου): Μια συμβολοσειρά που αντιπροσωπεύει το αρχείο που πρόκειται να δοκιμαστεί.
      FSO.FileNaming = "SYS"
      If FSO.FileExists("C:\Documents\my_file.odt") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FileExists(r"C:\Documents\my_file.odt"):
          # ...
    Returns a zero-based array (BASIC) or tuple (Python) of the files stored in a given folder. Each entry in the array or tuple is a string containing the full path and file name.
Εάν το όρισμα foldername (όνομα φακέλου) καθορίζει έναν φάκελο που δεν υπάρχει, δημιουργείται μια εξαίρεση.
Ο κατάλογος που προκύπτει μπορεί να φιλτραριστεί με χαρακτήρες υποκατάστασης.
svc.Files(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername (όνομα φακέλου): Μια συμβολοσειρά που αντιπροσωπεύει έναν φάκελο. Ο φάκελος πρέπει να υπάρχει. Αυτό το όρισμα δεν πρέπει να προσδιορίζει αρχείο.
filter (φίλτρο): Μια συμβολοσειρά που περιέχει χαρακτήρες υποκατάστασης ("?" και "*") που θα εφαρμοστεί στον κατάλογο αρχείων που προκύπτει (προεπιλογή = "").
includesubfolders: Ορίστε αυτό το όρισμα σε True για να περιλαμβάνει τα περιεχόμενα των υποφακέλων (Προεπιλογή = False).
      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Επιστρέφει όλα τα αρχεία που ταιριάζουν με το φίλτρο "*.txt", συμπεριλαμβανομένων των αρχείων σε υποφακέλους
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
      fs.FileNaming = "SYS"
      filesList = fs.Files("/home/user/", "*.txt", includesubfolders = True)
      for file in fileList:
          # ...
    Επιστρέφει True εάν το καθορισμένο FolderName είναι έγκυρο και υπάρχει, διαφορετικά η μέθοδος επιστρέφει False.
Εάν η παράμετρος foldername (όνομα φακέλου) είναι στην πραγματικότητα ένα υπάρχον όνομα αρχείου, η μέθοδος επιστρέφει False.
svc.FolderExists(foldername: str): bool
foldername (όνομα φακέλου): Μια συμβολοσειρά που αντιπροσωπεύει τον φάκελο που πρόκειται να δοκιμαστεί.
      FSO.FileNaming = "SYS"
      If FSO.FolderExists("C:\Documents\Thesis") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FolderExists(r"C:\Documents\Thesis")
          # ...
    Επιστρέφει το BaseName (ίσο με το τελευταίο στοιχείο) ενός ονόματος φακέλου ή αρχείου, χωρίς την επέκτασή του.
Η μέθοδος δεν ελέγχει εάν υπάρχει το καθορισμένο αρχείο ή φάκελος.
svc.GetBaseName(filename: str): str
filename (όνομα αρχείου): Μια συμβολοσειρά που αντιπροσωπεύει το όνομα του αρχείου και τη διαδρομή του.
Στα παρακάτω παραδείγματα, η πρώτη κλήση της μεθόδου GetBaseName αντιστοιχεί σε έναν φάκελο, επομένως η συνάρτηση επιστρέφει το τελευταίο στοιχείο της διαδρομής. Η δεύτερη κλήση λαμβάνει ένα όνομα αρχείου ως είσοδο, επομένως το όνομα του αρχείου επιστρέφεται χωρίς την επέκτασή του.
      MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
      MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"
    
      bas = CreateScriptService("Basic")
      bas.MsgBox(fs.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fs.GetBaseName("/home/user/Documents/my_file.ods")) # "my_file"
    Επιστρέφει το τμήμα επέκτασης ενός ονόματος αρχείου ή φακέλου χωρίς τον χαρακτήρα της τελείας ".".
Η μέθοδος δεν ελέγχει την ύπαρξη του καθορισμένου αρχείου ή φακέλου.
Εάν αυτή η μέθοδος εφαρμόζεται σε ένα όνομα φακέλου ή σε ένα αρχείο χωρίς επέκταση, τότε επιστρέφεται μια κενή συμβολοσειρά.
svc.GetExtension(filename: str): str
filename (όνομα αρχείου): Μια συμβολοσειρά που αντιπροσωπεύει το όνομα του αρχείου και τη διαδρομή του.
      ' Basic
      ext = FSO.GetExtension("C:\Windows\Notepad.exe")  ' "exe"
    
      # Python
      ext = fs.GetExtension(r"C:\Windows\Notepad.exe")  # "exe"
    Η ενσωματωμένη συνάρτηση της Basic FileLen επιστρέφει τον αριθμό των byte που περιέχονται σε ένα αρχείο ως τιμή Long, δηλαδή έως 2 GB.
Η μέθοδος GetFileLen μπορεί να χειριστεί αρχεία με πολύ μεγαλύτερα μεγέθη επιστρέφοντας μια τιμή Currency.
svc.GetFileLen(filename: str): num
filename: Μια συμβολοσειρά που αντιπροσωπεύει ένα υπάρχον αρχείο.
      Dim fLen As Currency
      FSO.FileNaming = "SYS"
      fLen = FSO.GetFileLen("C:\pagefile.sys")
    
      fs.FileNaming = "SYS"
      fLen = fs.GetFileLen(r"C:\pagefile.sys")
    Επιστρέφει την τελευταία ημερομηνία τροποποίησης ενός δεδομένου αρχείου.
svc.GetFileModified(filename: str): datetime
filename: Μια συμβολοσειρά που αντιπροσωπεύει ένα υπάρχον αρχείο.
      Dim aDate As Date
      FSO.FileNaming = "SYS"
      aDate = FSO.GetFileModified("C:\Documents\my_file.odt")
    
      fs.FileNaming = "SYS"
      aDate = FSO.GetFileModified(r"C:\Documents\my_file.odt")
    Επιστρέφει το τελευταίο στοιχείο ενός ονόματος αρχείου ή φακέλου στην εγγενή μορφή του λειτουργικού συστήματος.
Η μέθοδος δεν ελέγχει εάν υπάρχει το καθορισμένο αρχείο ή φάκελος.
svc.GetName(filename: str): str
filename (όνομα αρχείου): Μια συμβολοσειρά που αντιπροσωπεύει το όνομα του αρχείου και τη διαδρομή του.
      ' Basic
      a = FSO.GetName("C:\Windows\Notepad.exe")  ' Notepad.exe
    
      # Python
      a = fs.GetName(r"C:\Windows\Notepad.exe")  # Notepad.exe
    Επιστρέφει μια συμβολοσειρά που περιέχει το όνομα του γονικού φακέλου ενός καθορισμένου ονόματος αρχείου ή φακέλου.
Η μέθοδος δεν ελέγχει εάν υπάρχει το καθορισμένο αρχείο ή φάκελος.
svc.GetParentFolderName(filename: str): str
filename (όνομα αρχείου): Μια συμβολοσειρά με το όνομα του αρχείου ή του φακέλου που πρόκειται να αναλυθεί.
      ' Basic
      a = FSO.GetParentFolderName("C:\Windows\Notepad.exe")  ' C:\Windows\
    
      # Python
      a = fs.GetParentFolderName(r"C:\Windows\Notepad.exe")  # C:\Windows\
    Επιστρέφει ένα τυχαία δημιουργημένο όνομα προσωρινού αρχείου που είναι χρήσιμο για την εκτέλεση λειτουργιών που απαιτούν ένα προσωρινό αρχείο.
Από προεπιλογή, το όνομα αρχείου που επιστρέφεται δεν έχει επέκταση. Χρησιμοποιήστε την παράμετρο επέκταση για να καθορίσετε την επέκταση του ονόματος του αρχείου που θα δημιουργηθεί.
Το τμήμα φακέλου της συμβολοσειράς που επιστρέφεται είναι ο προσωρινός φάκελος του συστήματος.
Η μέθοδος δεν δημιουργεί το προσωρινό αρχείο.
svc.GetTempName(extension: str): str
extension: Η επέκταση του προσωρινού ονόματος αρχείου (Προεπιλογή = "").
      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName(Extension := "txt")
      ' "/tmp/SF_574068.txt"
    
      fs.FileNaming = "SYS"
      fName = FSO.GetTempName(extension = "txt")
      # "/tmp/SF_574068.txt"
    Οι συναρτήσεις κατακερματισμού χρησιμοποιούνται από ορισμένους κρυπτογραφικούς αλγόριθμους, σε ψηφιακές υπογραφές, σε κωδικούς ταυτοποίησης μηνυμάτων, σε ανίχνευση απάτης, σε δακτυλικά αποτυπώματα, σε αθροίσματα ελέγχου (έλεγχος ακεραιότητας μηνυμάτων), σε πίνακες κατακερματισμού, σε αποθήκευση κωδικών πρόσβασης και πολλά άλλα.
Η μέθοδος HashFile επιστρέφει το αποτέλεσμα μιας συνάρτησης κατακερματισμού, που εφαρμόζεται σε ένα δεδομένο αρχείο και χρησιμοποιώντας έναν καθορισμένο αλγόριθμο. Η επιστρεφόμενη τιμή είναι μια συμβολοσειρά δεκαεξαδικών ψηφίων με πεζά γράμματα.
Οι αλγόριθμοι κατακερματισμού που υποστηρίζονται είναι: MD5, SHA1, SHA224, SHA256, SHA384 και SHA512.
svc.HashFile(filename: str, algorithm: str): str
filename: Μια συμβολοσειρά που αντιπροσωπεύει ένα υπάρχον αρχείο.
algorithm (αλγόριθμος): Ένας από τους υποστηριζόμενους αλγόριθμους.
      ' Basic
      sHash = FSO.HashFile("C:\pagefile.sys", "MD5")
    
      # Python
      sHash = FSO.HashFile(r"C:\pagefile.sys", "MD5")
    Μετακινεί ένα ή περισσότερα αρχεία από μια τοποθεσία σε άλλη. Επιστρέφει True εάν έχει μετακινηθεί τουλάχιστον ένα αρχείο, ή False εάν παρουσιάστηκε σφάλμα.
Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανένα αρχείο.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.MoveFile(source: str, destination: str): bool
source (προέλευση): Μπορεί να είναι ένα FileName ή NamePattern για να ορίσει ένα ή περισσότερα αρχεία προς μετακίνηση.
destination (προορισμός): Εάν η source είναι FileName, τότε αυτή η παράμετρος υποδεικνύει τη νέα διαδρομή και το όνομα αρχείου του μεταφερόμενου αρχείου.
Εάν η λειτουργία μετακίνησης περιλαμβάνει πολλά αρχεία, τότε ο destination (προορισμός) πρέπει να είναι όνομα φακέλου. Αν δεν υπάρχει, δημιουργείται.
Εάν η (προέλευση) και ο destination (προορισμός) έχουν τον ίδιο γονικό φάκελο, η μέθοδος θα μετονομάσει την source.
Οι χαρακτήρες υποκατάστασης δεν επιτρέπονται στον destination (προορισμό).
Στα ακόλουθα παραδείγματα μετακινούνται μόνο αρχεία, ενώ οι υποφάκελοι όχι.
      ' Basic
      FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2")
    
      # Python
      fs.MoveFile(r"C:\Temp1\*.*", r"C:\Temp2")
    Μετακινεί έναν ή περισσότερους φακέλους από μια θέση σε άλλη. Επιστρέφει True (σωστό) εάν έχει μετακινηθεί τουλάχιστον ένας φάκελος ή False εάν προέκυψε σφάλμα.
Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανέναν φάκελο.
Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.
svc.MoveFolder(source: str, destination: str): bool
source (προέλευση): Μπορεί να είναι ένα FolderName (Όνομα φακέλου) ή NamePattern (δείγμα ονόματος) για να ορίσει έναν ή περισσότερους φακέλους προς μετακίνηση.
destination (προορισμός): Εάν η λειτουργία μετακίνησης περιλαμβάνει έναν μόνο φάκελο, τότε ο destination είναι το όνομα και η διαδρομή του φακέλου που μετακινήθηκε και δεν πρέπει να υπάρχει.
Εάν μετακινούνται πολλοί φάκελοι, τότε ο destination (προορισμός) προσδιορίζει πού θα μετακινηθούν οι φάκελοι στην source (προέλευση). Εάν δεν υπάρχει destination, δημιουργείται.
Οι χαρακτήρες υποκατάστασης δεν επιτρέπονται στον destination (προορισμό).
      ' Basic
      FSO.MoveFolder("C:\Temp1\*", "C:\Temp2")
    
      # Python
      fs.MoveFolder(r"C:\Temp1\*", r"C:\Temp2")
    Επιστρέφει μια συμβολοσειρά που περιέχει το κανονικοποιημένο όνομα διαδρομής με σύμπτυξη περιττών διαχωριστικών και αναφορών ανωτέρου επιπέδου.
Για παράδειγμα, τα ονόματα διαδρομής A//B, A/B/, A/./B και A/foo/ Τα ../B κανονικοποιούνται όλα σε A/B.
Στα Windows, οι κάθετες "/" προς τα εμπρός μετατρέπονται σε κάθετες "\".
Η τρέχουσα τιμή της ιδιότητας SF_FileSystem.FileNaming χρησιμοποιείται για τον προσδιορισμό της σημειογραφίας του ορίσματος filename καθώς και για τη μορφή της συμβολοσειράς που επιστρέφεται.
svc.Normalize(filename: str): str
filename: μια συμβολοσειρά που αντιπροσωπεύει ένα έγκυρο όνομα διαδρομής. Το αρχείο ή ο κατάλογος που αντιπροσωπεύεται από αυτό το όρισμα ενδέχεται να μην υπάρχει.
    FSO.FileNaming = "URL"
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home/user/Documents/")
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home//user//Documents/")
    ' file:///home/user
    normPath = FSO.Normalize("file:///home//user//Documents/../")
  
    fs.FileNaming = "URL"
    normPath = fs.Normalize("file:///home/user/Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/../")
  Ανοίγει ένα αρχείο και επιστρέφει ένα αντικείμενο TextStream που μπορεί να χρησιμοποιηθεί για ανάγνωση, εγγραφή ή προσθήκη στο αρχείο.
Σημειώστε ότι η μέθοδος δεν ελέγχει εάν το δεδομένο αρχείο είναι όντως αρχείο κειμένου.
Η μέθοδος επιστρέφει ένα αντικείμενο Null (στη Basic) ή None (Κανένα) (στην Python) εάν παρουσιαστεί σφάλμα.
svc.OpenTextFile(filename: str, iomode: int = 1, create: bool = False, encoding: str = 'UTF-8'): svc
filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει.
iomode: Υποδεικνύει τη λειτουργία εισόδου/εξόδου. Μπορεί να είναι μία από τις τρεις σταθερές: svc.ForReading (προεπιλογή), svc.ForWriting ή svc.ForAppending.
create (δημιουργία): Τιμή Μπουλ που υποδεικνύει εάν ένα νέο αρχείο μπορεί να δημιουργηθεί εάν το καθορισμένο filename (όνομα αρχείου) δεν υπάρχει:
Εάν είναι True θα δημιουργηθεί ένα νέο αρχείο και οι γονικοί φάκελοι του, εάν δεν υπάρχουν.
Εάν είναι False τότε δεν δημιουργούνται νέα αρχεία (προεπιλογή).
encoding (κωδικοποίηση): Το σύνολο των χαρακτήρων που θα χρησιμοποιηθεί. Η προεπιλεγμένη κωδικοποίηση είναι "UTF-8".
      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.OpenTextFile("C:\Temp\ThisFile.txt", FSO.ForReading)
      If Not IsNull(myFile) Then
          ' ...
      End If
    
      fs.FileNaming = "SYS"
      myFile = fs.OpenTextFile(r"C:\Temp\ThisFile.txt", fs.ForReading)
      if myFile is not None:
          # ...
    Ανοίγει ένα πλαίσιο διαλόγου για άνοιγμα ή αποθήκευση αρχείων.
Εάν έχει ρυθμιστεί η λειτουργία SAVE (ΑΠΟΘΗΚΕΥΣΗ) και υπάρχει το επιλεγμένο αρχείο, θα εμφανιστεί ένα προειδοποιητικό μήνυμα.
svc.PickFile(defaultfile: str ='', mode: str = 'OPEN', filter: str = ''): str
defaultfile (προεπιλεγμένο αρχείο): Αυτό το όρισμα είναι μια συμβολοσειρά που αποτελείται από έναν φάκελο και ένα όνομα αρχείου:
Το τμήμα φακέλου υποδεικνύει τον φάκελο που θα εμφανιστεί όταν ανοίξει το παράθυρο διαλόγου (προεπιλογή = ο τελευταίος επιλεγμένος φάκελος).
Το τμήμα αρχείου προσδιορίζει το προεπιλεγμένο αρχείο για άνοιγμα ή αποθήκευση.
mode (λειτουργία): Μια τιμή συμβολοσειράς που μπορεί να είναι είτε "OPEN" (για αρχεία εισόδου) ή "SAVE" (για αρχεία εξόδου). Η προεπιλεγμένη τιμή είναι "OPEN".
filter (φίλτρο): Η επέκταση των αρχείων που εμφανίζεται όταν ανοίγει το παράθυρο διαλόγου (προεπιλογή = χωρίς φίλτρο).
Τα παρακάτω παραδείγματα ανοίγουν μια επιλογή αρχείων με εφαρμοσμένο το φίλτρο "txt".
      ' Basic
      aFile = FSO.PickFile("C:\Documents", "OPEN", "txt")
    
      # Python
      aFile = fs.PickFile(r"C:\Documents", "OPEN", "txt")
    Ανοίγει ένα πλαίσιο διαλόγου για να επιλέξετε έναν φάκελο.
svc.PickFolder(defaultfolder: str = '', freetext: str = ''): str
defaultfolder (προεπιλεγμένος φάκελος): Μια συμβολοσειρά που περιέχει το όνομα του φακέλου που θα εμφανιστεί όταν ανοίξει το παράθυρο διαλόγου (προεπιλογή = ο τελευταίος επιλεγμένος φάκελος).
freetext (ελεύθερο κείμενο): Κείμενο προς εμφάνιση στο παράθυρο διαλόγου (προεπιλογή = "").
      ' Basic
      aFolder = FSO.PickFolder("C:\Documents", "Επιλέξτε έναν φάκελο ή πατήστε Ακύρωση")
    
      # Python
      aFolder = fs.PickFolder(r"C:\Documents", "Επιλέξτε έναν φάκελο, ή πατήστε Άκυρο")
    Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που αντιστοιχεί στους φακέλους που είναι αποθηκευμένοι σε ένα δεδομένο foldername (όνομα φακέλου).
Ο κατάλογος μπορεί να φιλτραριστεί με χαρακτήρες υποκατάστασης.
svc.SubFolders(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername (όνομα φακέλου): Μια συμβολοσειρά που αντιπροσωπεύει έναν φάκελο. Ο φάκελος πρέπει να υπάρχει. Το foldername δεν πρέπει να προσδιορίζει αρχείο.
filter (φίλτρο): Μια συμβολοσειρά που περιέχει χαρακτήρες υποκατάστασης ("?" και "*") που θα εφαρμοστεί στον κατάλογο φακέλων που προκύπτει (προεπιλογή = "").
includesubfolders: Ορίστε αυτό το όρισμα σε True για να περιλαμβάνει τα περιεχόμενα των υποφακέλων (Προεπιλογή = False).
      Dim folderList As Variant, folder As String
      FSO.FileNaming = "SYS"
      folderList = FSO.SubFolders("/home/user/")
      For Each folder In folderList
          ' ...
      Next folder
    
      fs.FileNaming = "SYS"
      folderList = fs.SubFolders("/home/user/")
      for folder in folderList:
          # ...