Υπηρεσία ScriptForge.FileSystem

Η υπηρεσία FileSystem περιλαμβάνει ρουτίνες για το χειρισμό αρχείων και φακέλων. Ακολουθούν ορισμένα παραδείγματα των δυνατοτήτων που παρέχονται από αυτήν την υπηρεσία:

note

Οι μέθοδοι στην υπηρεσία FileSystem βασίζονται ως επί το πλείστον στη διεπαφή XSimpleFileAccess του UNO.


Ορισμοί

Ο παρακάτω πίνακας παραθέτει τις κύριες παραμέτρους που χρησιμοποιούνται από τις περισσότερες μεθόδους στην υπηρεσία FileSystem.

Παράμετρος

Περιγραφή

FileName

Το πλήρες όνομα του αρχείου, συμπεριλαμβανομένης της διαδρομής χωρίς διαχωριστικό διαδρομής στο τέλος.

FolderName

Το πλήρες όνομα του φακέλου συμπεριλαμβανομένης της διαδρομής. Μπορεί να περιέχει ή όχι το διαχωριστικό τελικής διαδρομής.

Name

Το τελευταίο στοιχείο του Folder Name (ονόματος φακέλου), ή του File Name (ονόματος αρχείου) συμπεριλαμβανομένης της επέκτασής του. Αυτή η παράμετρος εκφράζεται πάντα χρησιμοποιώντας την εγγενή μορφή του λειτουργικού συστήματος.

BaseName

Το τελευταίο στοιχείο του Folder Name ή του File Name χωρίς την επέκτασή του.

NamePattern

Οποιοδήποτε από τα παραπάνω ονόματα περιέχει χαρακτήρες υποκατάστασης στο τελευταίο συστατικό του. Οι αποδεκτές υποκαταστάσεις είναι:

  • "?" αντιπροσωπεύει οποιονδήποτε μεμονωμένο χαρακτήρα

  • Το "*" αντιπροσωπεύει μηδέν, έναν ή πολλούς χαρακτήρες


tip

Η υπηρεσία FileSystem επιτρέπει την εκτέλεση λειτουργιών σε πολλά αρχεία ταυτόχρονα. Χρησιμοποιώντας μοτίβα ονομάτων, τα σενάρια χρήστη μπορούν να αντιγράψουν, να μετακινήσουν ή να διαγράψουν πολλά αρχεία. Αντίθετα, οι βασικές ενσωματωμένες μέθοδοι μπορούν να χειριστούν μόνο μεμονωμένα αρχεία.


Σημειογραφία ονοματολογίας αρχείων

Η σημειογραφία που χρησιμοποιείται για την έκφραση ονομάτων αρχείων και φακέλων, τόσο για ορίσματα όσο και για τιμές που επιστρέφονται, ορίζεται από την ιδιότητα FileNaming της υπηρεσίας FileSystem.

Εν ολίγοις, οι πιθανοί τύποι αναπαράστασης είναι "URL" (σημειογραφία αρχείου URL), "SYS" (σημειογραφία λειτουργικού συστήματος) και "ANY" (ΟΠΟΙΟΣΔΗΠΟΤΕ) (προεπιλογή). Δείτε περισσότερες πληροφορίες παρακάτω.

tip

Ένα παράδειγμα της σημειογραφίας της διεύθυνσης URL είναι το file:///C:/Documents/my_file.odt. Όποτε είναι δυνατόν, σκεφτείτε να χρησιμοποιήσετε τη σημειογραφία URL, επειδή είναι μια πιο φορητή εναλλακτική.


warning

Η χρήση της συντόμευσης "~" (tilde), η οποία είναι κοινή σε λειτουργικά συστήματα που βασίζονται σε Linux, δεν υποστηρίζεται για την έκφραση μιας διαδρομής προς ένα φάκελο και ένα όνομα αρχείου. Αντί να χρησιμοποιήσετε το "~/Documents/my_file.odt" χρησιμοποιήστε την πλήρη διαδρομή "/home/user/Documents/my_file.odt".


Κλήση υπηρεσίας

Το ακόλουθο απόσπασμα κώδικα καλεί την υπηρεσία FileSystem. Ως παράδειγμα χρησιμοποιήθηκε η μέθοδος BuildPath.

Σε Basic

      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim FSO As Object
      Set FSO = CreateScriptService("FileSystem")
      FSO.BuildPath(...)
    
Σε Python

      from scriptforge import CreateScriptService
      fso = CreateScriptService("FileSystem")
      fso.BuildPath(...)
    

Ιδιότητες

Όνομα

Μόνο για ανάγνωση

Τύπος

Περιγραφή

FileNaming

Όχι

String

Ορίζει ή επιστρέφει τη σημειογραφία των τρεχόντων αρχείων και φακέλων, είτε "ANY", "URL" ή "SYS":

  • "ANY" (οποιοδήποτε): (προεπιλογή) οι μέθοδοι της υπηρεσίας FileSystem δέχονται τόσο τη διεύθυνση URL, όσο και τη σημειογραφία του τρέχοντος λειτουργικού συστήματος για ορίσματα εισόδου, αλλά πάντα επιστρέφουν συμβολοσειρές URL.

  • "URL": οι μέθοδοι της υπηρεσίας FileSystem αναμένουν σημειογραφία URL για ορίσματα εισόδου και συμβολοσειρές διεύθυνσης URL στην επιστροφή.

  • "SYS": οι μέθοδοι της υπηρεσίας FileSystem αναμένουν τη σημειογραφία του τρέχοντος λειτουργικού συστήματος τόσο για ορίσματα εισόδου, όσο και για συμβολοσειρές επιστροφής.

Αφού οριστεί, η ιδιότητα FileNaming παραμένει αμετάβλητη είτε μέχρι το τέλος της συνεδρίας του LibreOffice, είτε μέχρι να οριστεί ξανά.

ConfigFolder

Ναι

String

Επιστρέφει τον φάκελο διαμόρφωσης του LibreOffice.

ExtensionsFolder

Ναι

String

Επιστρέφει τον φάκελο όπου είναι εγκατεστημένες οι επεκτάσεις.

HomeFolder

Ναι

String

Επιστρέφει τον αρχικό φάκελο του χρήστη.

InstallFolder

Ναι

String

Επιστρέφει τον φάκελο εγκατάστασης του LibreOffice.

TemplatesFolder

Ναι

String

Επιστρέφει τον φάκελο που περιέχει τα αρχεία προτύπων του συστήματος.

TemporaryFolder

Ναι

String

Επιστρέφει τον φάκελο των προσωρινών αρχείων που έχει οριστεί στις ρυθμίσεις διαδρομής του LibreOffice.

UserTemplatesFolder

Ναι

String

Επιστρέφει τον φάκελο που περιέχει τα αρχεία προτύπων του χρήστη.


ΚΙατάλογος μεθόδων στην υπηρεσία FileSystem

BuildPath
CompareFiles
CopyFile
CopyFolder
CreateFolder
CreateTextFile
DeleteFile
DeleteFolder
FileExists

Files
FolderExists
GetBaseName
GetExtension
GetFileLen
GetFileModified
GetName
GetParentFolderName

GetTempName
HashFile
MoveFile
MoveFolder
OpenTextFile
PickFile
PickFolder
SubFolders


BuildPath

Συνδέει μια διαδρομή φακέλου και το όνομα ενός αρχείου και επιστρέφει το πλήρες όνομα του αρχείου με ένα έγκυρο διαχωριστικό διαδρομής. Το διαχωριστικό διαδρομής προστίθεται μόνο εάν είναι απαραίτητο.

Σύνταξη:

svc.BuildPath(foldername: str, name: str): str

Παράμετροι:

foldername (όνομα φακέλου) : Η διαδρομή με την οποία θα συνδυαστεί το name. Η καθορισμένη διαδρομή δεν χρειάζεται να είναι υφιστάμενος φάκελος.

name (όνομα): Το όνομα του αρχείου που θα προστεθεί στο foldername (όνομα φακέλου). Αυτή η παράμετρος χρησιμοποιεί τη σημειογραφία του τρέχοντος λειτουργικού συστήματος.

Παράδειγμα:

Σε Basic

      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
    
Σε Python

      fso = CreateScriptService("FileSystem")
      fso.FileNaming = "URL"
      aFileName = fso.BuildPath("file:///home/user", "sample file.odt")
      # file:///home/user/sample%20file.odt
    

CompareFiles

Συγκρίνει δύο αρχεία και επιστρέφει True όταν φαίνονται ταυτόσημα.

Ανάλογα με την τιμή του ορίσματος comparecontents (σύγκριση περιεχομένων), η σύγκριση μεταξύ των δύο αρχείων μπορεί να βασίζεται είτε μόνο σε γνωρίσματα αρχείου (όπως η ημερομηνία τελευταίας τροποποίησης,) είτε στα περιεχόμενα του αρχείου.

Σύνταξη:

svc.CompareFiles(filename1: str, filename2: str, comparecontents: bool = False): bool

Παράμετροι:

filename1, filename2: Τα ονόματα των αρχείων προς σύγκριση.

comparecontents (σύγκριση περιεχομένων): Όταν είναι True, τα περιεχόμενα των αρχείων συγκρίνονται (προεπιλογή = False).

Παράδειγμα:

Σε Basic

      FSO.FileNaming = "SYS"
      If FSO.CompareFiles("C:\myFile1.txt", "C:\myFile2.txt", CompareContents := False) Then
          ' ...
      End If
    
Σε Python

      fso.FileNaming = "SYS"
      if fso.CompareFiles(r"C:\myFile1.txt", r"C:\myFile2.txt", comparecontents = False):
          # ...
    

CopyFile

Αντιγράφει ένα ή περισσότερα αρχεία από τη μια θέση στην άλλη. Επιστρέφει True εάν έχει αντιγραφεί τουλάχιστον ένα αρχείο, ή False εάν προέκυψε σφάλμα.

Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανένα αρχείο.

Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.

Σύνταξη:

svc.CopyFile(source: str, destination: str, overwrite: bool = True): bool

Παράμετροι:

source (προέλευση): Μπορεί να είναι ένα FileName ή ένα NamePattern που υποδεικνύει ένα ή περισσότερα αρχεία προς αντιγραφή.

destination (προορισμός): Μπορεί να είναι είτε FileName (όνομα αρχείου) που καθορίζει πού θα αντιγραφεί το μεμονωμένο αρχείο source (προέλευση), ή FolderName (όνομα φακέλου) στο οποίο πρόκειται να αντιγραφούν τα πολλαπλά αρχεία από την source.

overwrite (αντικατάσταση): Εάν είναι True (προεπιλογή), τα αρχεία ενδέχεται να αντικατασταθούν. Η μέθοδος θα αποτύχει εάν ο destination (προορισμός) είναι μόνο για ανάγνωση, ανεξάρτητα από την τιμή που καθορίζεται στο overwrite.

Παράδειγμα:

Στα παρακάτω παραδείγματα, η πρώτη γραμμή αντιγράφει ένα μόνο αρχείο, ενώ η δεύτερη γραμμή αντιγράφει πολλά αρχεία χρησιμοποιώντας χαρακτήρες υποκατάστασης.

Σε Basic

      FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
      FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)
    
Σε Python

      fso.CopyFile(r"C:\Documents\my_file.odt", r"C:\Temp\copied_file.odt")
      fso.CopyFile(r"C:\Documents\*.*", r"C:\Temp", overwrite = False)
    
note

Προσέξτε ότι οι υποφάκελοι και τα περιεχόμενά τους δεν αντιγράφονται όταν χρησιμοποιούνται χαρακτήρες υποκατάστασης στο όρισμα source.


CopyFolder

Αντιγράφει έναν ή περισσότερους φακέλους από τη μια θέση σε μια άλλη. Επιστρέφει True εάν έχει αντιγραφεί τουλάχιστον ένας φάκελος, ή False εάν παρουσιάστηκε σφάλμα.

Θα προκύψει επίσης σφάλμα εάν η παράμετρος source χρησιμοποιεί χαρακτήρες υποκατάστασης και δεν ταιριάζει με κανέναν φάκελο.

Η μέθοδος σταματά αμέσως εάν συναντήσει σφάλμα. Η μέθοδος δεν επαναφέρει ούτε αναιρεί τις αλλαγές που έγιναν πριν εμφανιστεί το σφάλμα.

Σύνταξη:

svc.CopyFolder(source: str, destination: str, overwrite: bool = True): bool

Παράμετροι:

source: Μπορεί να είναι ένα FolderName, ή ένα NamePattern που υποδεικνύει έναν ή περισσότερους φακέλους προς αντιγραφή.

destination: Καθορίζει το FolderName στον οποίο θα αντιγραφούν οι μεμονωμένοι ή πολλοί φάκελοι που ορίζονται στην source.

overwrite (αντικατάσταση): Εάν είναι True (προεπιλογή), τα αρχεία ενδέχεται να αντικατασταθούν. Η μέθοδος θα αποτύχει εάν ο destination (προορισμός) είναι μόνο για ανάγνωση, ανεξάρτητα από την τιμή που καθορίζεται στο overwrite.

Παράδειγμα:

Στα παρακάτω παραδείγματα αντιγράφονται όλα τα αρχεία, οι φάκελοι και οι υποφάκελοι.


      ' Basic
      FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False)
    

      # Python
      fso.CopyFolder(r"C:\Documents\*", r"C:\Temp", overwrite = False)
    

CreateFolder

Δημιουργεί το καθορισμένο FolderName (όνομα φακέλου). Επιστρέφει True, εάν ο φάκελος δημιουργήθηκε με επιτυχία.

Εάν ο καθορισμένος φάκελος έχει έναν γονικό φάκελο που δεν υπάρχει, δημιουργείται.

Σύνταξη:

svc.CreateFolder(foldername: str): bool

Παράμετροι:

foldername (όνομα φακέλου): Μια συμβολοσειρά που αντιπροσωπεύει τον φάκελο που θα δημιουργηθεί. Εάν ο φάκελος υπάρχει ήδη, θα δημιουργηθεί μια εξαίρεση.

Παράδειγμα:


      ' Basic
      FSO.CreateFolder("C:\NewFolder")
    

      # Python
      fso.CreateFolder(r"C:\NewFolder")
    

CreateTextFile

Δημιουργεί ένα καθορισμένο αρχείο και επιστρέφει μια παρουσία υπηρεσίας TextStream που μπορεί να χρησιμοποιηθεί για την εγγραφή στο αρχείο.

Η μέθοδος επιστρέφει ένα αντικείμενο Null εάν παρουσιαστεί σφάλμα.

Σύνταξη:

svc.CreateTextFile(filename: str, overwrite: bool = True, encoding: str = 'UTF-8'): svc

Παράμετροι:

filename (όνομα αρχείου): Το όνομα του αρχείου που θα δημιουργηθεί.

overwrite (αντικατάσταση): Δυαδική τιμή που καθορίζει εάν το filename (όνομα αρχείου) μπορεί να αντικατασταθεί (προεπιλογή = True).

encoding (κωδικοποίηση): Το σύνολο των χαρακτήρων που θα χρησιμοποιηθεί. Η προεπιλεγμένη κωδικοποίηση είναι "UTF-8".

Παράδειγμα:

Σε Basic

      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True)
    
Σε Python

      fso.FileNaming = "SYS"
      myFile = fso.CreateTextFile(r"C:\Temp\ThisFile.txt", overwrite = True)
    
note

Για να μάθετε περισσότερα σχετικά με τα ονόματα των συνόλων χαρακτήρων, επισκεφτείτε τη σελίδα Σύνολο χαρακτήρων IANA. Προσέξτε ότι το LibreOffice δεν υλοποιεί όλα τα υφιστάμενα σύνολα χαρακτήρων.


DeleteFile

Διαγράφει ένα ή περισσότερα αρχεία. Επιστρέφει True, εάν έχει διαγραφεί τουλάχιστον ένα αρχείο, ή False εάν προέκυψε σφάλμα.

An error will also occur if the filename parameter uses wildcard characters and does not match any files.

The files to be deleted must not be readonly.

The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred.

Σύνταξη:

svc.DeleteFile(filename: str): bool

Παράμετροι:

filename: It can be a FileName or a NamePattern indicating one or more files to be deleted.

Παράδειγμα:

In the examples below only files are deleted, subfolders are not deleted.


      ' Basic
      FSO.DeleteFile("C:\Temp\*.docx")
    

      # Python
      fso.DeleteFile(r"C:\Temp\*.docx")
    

DeleteFolder

Deletes one or more folders. Returns True if at least one folder has been deleted or False if an error occurred.

An error will also occur if the foldername parameter uses wildcard characters and does not match any folders.

The folders to be deleted must not be readonly.

The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred.

Σύνταξη:

svc.DeleteFolder(foldername: str): bool

Παράμετροι:

foldername: It can be a FolderName or a NamePattern indicating one or more folders to be deleted.

Παράδειγμα:

In the examples below only folders and their contents are deleted. Files in the parent folder "C:\Temp" are not deleted.


      ' Basic
      FSO.DeleteFolder("C:\Temp\*")
    

      # Python
      fso.DeleteFolder(r"C:\Temp\*")
    

FileExists

Returns True if a given file name is valid and exists, otherwise the method returns False.

If the filename parameter is actually an existing folder name, the method returns False.

Σύνταξη:

svc.FileExists(filename: str): bool

Παράμετροι:

filename: A string representing the file to be tested.

Παράδειγμα:

Σε Basic

      FSO.FileNaming = "SYS"
      If FSO.FileExists("C:\Documents\my_file.odt") Then
          '...
      End If
    
Σε Python

      fso.FileNaming = "SYS"
      if fso.FileExists(r"C:\Documents\my_file.odt"):
          # ...
    

Files

Returns a zero-based array of the files stored in a given folder. Each entry in the array is a string containing the full path and file name.

If the argument foldername specifies a folder that does not exist, an exception is raised.

The resulting list may be filtered with wildcards.

Σύνταξη:

svc.Files(foldername: str, filter: str = ''): str[0..*]

Παράμετροι:

foldername: A string representing a folder. The folder must exist. This argument must not designate a file.

filter: A string containing wildcards ("?" and "*") that will be applied to the resulting list of files (default = "").

Παράδειγμα:

Σε Basic

      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      filesList = FSO.Files("/home/user/", "*.txt")
      For Each file In filesList
          ' ...
      Next file
    
Σε Python

      fso.FileNaming = "SYS"
      filesList = fso.Files("/home/user/", "*.txt")
      for file in fileList:
          # ...
    

FolderExists

Returns True if the specified FolderName is valid and exists, otherwise the method returns False.

If the foldername parameter is actually an existing file name, the method returns False.

Σύνταξη:

svc.FolderExists(foldername: str): bool

Παράμετροι:

foldername: A string representing the folder to be tested.

Παράδειγμα:

Σε Basic

      FSO.FileNaming = "SYS"
      If FSO.FolderExists("C:\Documents\Thesis") Then
          '...
      End If
    
Σε Python

      fso.FileNaming = "SYS"
      if fso.FolderExists(r"C:\Documents\Thesis")
          # ...
    

GetBaseName

Returns the BaseName (equal to the last component) of a folder or file name, without its extension.

The method does not check if the specified file or folder exists.

Σύνταξη:

svc.GetBaseName(filename: str): str

Παράμετροι:

filename: A string representing the file name and its path.

Παράδειγμα:

In the examples below, the first GetBaseName method call corresponds to a folder, so the function returns the last component of the path. The second call receives a file name as input, so the name of the file is returned without its extension.

Σε Basic

      MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
      MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"
    
Σε Python

      bas = CreateScriptService("Basic")
      bas.MsgBox(fso.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fso.GetBaseName("/home/user/Documents/my_file.ods")) # "my_file"
    

GetExtension

Returns the extension part of a file or folder name without the dot "." character.

The method does not check for the existence of the specified file or folder.

If this method is applied to a folder name or to a file without an extension, then an empty string is returned.

Σύνταξη:

svc.GetExtension(filename: str): str

Παράμετροι:

filename: A string representing the file name and its path.

Παράδειγμα:


      ' Basic
      ext = FSO.GetExtension("C:\Windows\Notepad.exe")  ' "exe"
    

      # Python
      ext = fso.GetExtension(r"C:\Windows\Notepad.exe")  # "exe"
    

GetFileLen

The builtin FileLen Basic function returns the number of bytes contained in a file as a Long value, i.e. up to 2GB.

The GetFileLen method can handle files with much larger sizes by returning a Currency value.

Σύνταξη:

svc.GetFileLen(filename: str): num

Παράμετροι:

filename: A string representing an existing file.

Παράδειγμα:

Σε Basic

      Dim fLen As Currency
      FSO.FileNaming = "SYS"
      fLen = FSO.GetFileLen("C:\pagefile.sys")
    
Σε Python

      fso.FileNaming = "SYS"
      fLen = fso.GetFileLen(r"C:\pagefile.sys")
    

GetFileModified

Returns the last modified date of a given file.

Σύνταξη:

svc.GetFileModified(filename: str): datetime

Παράμετροι:

filename: A string representing an existing file.

Παράδειγμα:

Σε Basic

      Dim aDate As Date
      FSO.FileNaming = "SYS"
      aDate = FSO.GetFileModified("C:\Documents\my_file.odt")
    
Σε Python

      fso.FileNaming = "SYS"
      aDate = FSO.GetFileModified(r"C:\Documents\my_file.odt")
    

GetName

Returns the last component of a file or folder name in native operating system format.

The method does not check if the specified file or folder exists.

Σύνταξη:

svc.GetName(filename: str): str

Παράμετροι:

filename: A string representing the file name and its path.

Παράδειγμα:


      ' Basic
      a = FSO.GetName("C:\Windows\Notepad.exe")  ' Notepad.exe
    

      # Python
      a = fso.GetName(r"C:\Windows\Notepad.exe")  # Notepad.exe
    

GetParentFolderName

Returns a string containing the name of the parent folder of a specified file or folder name.

The method does not check if the specified file or folder exists.

Σύνταξη:

svc.GetParentFolderName(filename: str): str

Παράμετροι:

filename: A string with the file or folder name to be analyzed.

Παράδειγμα:


      ' Basic
      a = FSO.GetParentFolderName("C:\Windows\Notepad.exe")  ' C:\Windows\
    

      # Python
      a = fso.GetParentFolderName(r"C:\Windows\Notepad.exe")  # C:\Windows\
    

GetTempName

Returns a randomly generated temporary file name that is useful for performing operations that require a temporary file.

The returned file name does not have any suffix. The folder part of the returned string is the system's temporary folder.

The method does not create the temporary file.

Σύνταξη:

svc.GetTempName(): str

Παράδειγμα:

Σε Basic

      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName() & ".txt"
      ' "/tmp/SF_574068.txt"
    
Σε Python

      fso.FileNaming = "SYS"
      fName = FSO.GetTempName() + ".txt"
      # "/tmp/SF_574068.txt"
    

HashFile

Hash functions are used by some cryptographic algorithms, in digital signatures, message authentication codes, fraud detection, fingerprints, checksums (message integrity check), hash tables, password storage and much more.

The HashFile method returns the result of a hash function, applied on a given file and using a specified algorithm. The returned value is a string of lower-case hexadecimal digits.

The hash algorithms supported are: MD5, SHA1, SHA224, SHA256, SHA384 and SHA512.

Σύνταξη:

svc.HashFile(filename: str, algorithm: str): str

Παράμετροι:

filename: A string representing an existing file.

algorithm: One of the supported algorithms.

Παράδειγμα:


      ' Basic
      sHash = FSO.HashFile("C:\pagefile.sys", "MD5")
    

      # Python
      sHash = FSO.HashFile(r"C:\pagefile.sys", "MD5")
    

MoveFile

Moves one or more files from one location to another. Returns True if at least one file has been moved or False if an error occurred.

An error will also occur if the source parameter uses wildcard characters and does not match any files.

The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred.

Σύνταξη:

svc.MoveFile(source: str, destination: str): bool

Παράμετροι:

source: It can be a FileName or NamePattern to designate one or more files to be moved.

destination: If source is a FileName then this parameter indicates the new path and file name of the moved file.

If the move operation involves multiple files, then destination must be a folder name. If it does not exist, it is created.

If source and destination have the same parent folder, the method will rename the source.

Wildcard characters are not allowed in destination.

Παράδειγμα:

In the following examples only files are moved, subfolders are not.


      ' Basic
      FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2")
    

      # Python
      fso.MoveFile(r"C:\Temp1\*.*", r"C:\Temp2")
    

MoveFolder

Moves one or more folders from one location to another. Returns True if at least one folder has been moved or False if an error occurred.

An error will also occur if the source parameter uses wildcard characters and does not match any folders.

The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred.

Σύνταξη:

svc.MoveFolder(source: str, destination: str): bool

Παράμετροι:

source: It can be a FolderName or NamePattern to designate one or more folders to be moved.

destination: If the move operation involves a single folder, then destination is the name and path of the moved folder and it must not exist.

If multiple folders are being moved, then destination designates where the folders in source will be moved into. If destination does not exist, it is created.

Wildcard characters are not allowed in destination.

Παράδειγμα:


      ' Basic
      FSO.MoveFolder("C:\Temp1\*", "C:\Temp2")
    

      # Python
      fso.MoveFolder(r"C:\Temp1\*", r"C:\Temp2")
    

OpenTextFile

Opens a file and returns a TextStream object that can be used to read from, write to, or append to the file.

Note that the method does not check if the given file is really a text file.

The method returns a Null object (in Basic) or None (in Python) if an error occurred.

Σύνταξη:

svc.OpenTextFile(filename: str, iomode: int = 1, create: bool = False, encoding: str = 'UTF-8'): svc

Παράμετροι:

filename: Identifies the file to open.

iomode: Indicates the input/output mode. It can be one of three constants: svc.ForReading (default), svc.ForWriting, or svc.ForAppending.

create: Boolean value that indicates whether a new file can be created if the specified filename doesn't exist:

encoding: The character set to be used. The default encoding is "UTF-8".

Παράδειγμα:

Σε Basic

      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.OpenTextFile("C:\Temp\ThisFile.txt", FSO.ForReading)
      If Not IsNull(myFile) Then
          ' ...
      End If
    
Σε Python

      fso.FileNaming = "SYS"
      myFile = fso.OpenTextFile(r"C:\Temp\ThisFile.txt", fso.ForReading)
      if myFile is not None:
          # ...
    

PickFile

Opens a dialog box to open or save files.

If the SAVE mode is set and the picked file exists, a warning message will be displayed.

Σύνταξη:

svc.PickFile(defaultfile: str ='', mode: str = 'OPEN', filter: str = ''): str

Παράμετροι:

defaultfile: This argument is a string composed of a folder and file name:

mode: A string value that can be either "OPEN" (for input files) or "SAVE" (for output files). The default value is "OPEN".

filter: The extension of the files displayed when the dialog is opened (default = no filter).

Παράδειγμα:

The examples below open a file picker with the "txt" filter applied.


      ' Basic
      aFile = FSO.PickFile("C:\Documents", "OPEN", "txt")
    

      # Python
      aFile = fso.PickFile(r"C:\Documents", "OPEN", "txt")
    

PickFolder

Opens a dialog box to select a folder.

Σύνταξη:

svc.PickFolder(defaultfolder: str = '', freetext: str = ''): str

Παράμετροι:

defaultfolder: A string containing the folder name that will be displayed when the dialog is opened (default = the last selected folder).

freetext: Text to display in the dialog (default = "").

Παράδειγμα:


      ' Basic
      aFolder = FSO.PickFolder("C:\Documents", "Choose a folder or press Cancel")
    

      # Python
      aFolder = fso.PickFolder(r"C:\Documents", "Choose a folder or press Cancel")
    

SubFolders

Returns a zero-based array of strings corresponding to the folders stored in a given foldername.

The list may be filtered with wildcards.

Σύνταξη:

svc.SubFolders(foldername: str, filter: str = ''): str[0..*]

Παράμετροι:

foldername: A string representing a folder. The folder must exist. foldername must not designate a file.

filter: A string containing wildcards ("?" and "*") that will be applied to the resulting list of folders (default = "").

Παράδειγμα:

Σε Basic

      Dim folderList As Variant, folder As String
      FSO.FileNaming = "SYS"
      folderList = FSO.SubFolders("/home/user/")
      For Each folder In folderList
          ' ...
      Next folder
    
Σε Python

      fso.FileNaming = "SYS"
      folderList = fso.SubFolders("/home/user/")
      for folder in folderList:
          # ...
    
warning

Όλες οι ρουτίνες ή αναγνωριστικά του ScriptForge στη Basic που έχουν το πρόθεμα χαρακτήρα υπογράμμισης "_" δεσμεύονται για εσωτερική χρήση. Δεν προορίζονται να χρησιμοποιηθούν σε μακροεντολές Basic ή σενάρια Python.