Περιεχόμενα
Δείκτης 🔎︎

# Υπηρεσία ScriptForge.FileSystem

Η υπηρεσία 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, επειδή είναι μια πιο φορητή εναλλακτική.

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

Before using the FileSystem service the ScriptForge library needs to be loaded using:

            GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")

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

          Dim FSO As Variant
          FSO = CreateScriptService("FileSystem")
          FSO.BuildPath(...)

Αυτή η υπηρεσία υποστηρίζεται πλήρως και στις γλώσσες Basic και Python. Όλα τα παραδείγματα εκφράζονται χρησιμοποιώντας τη γλώσσα προγραμματισμού Basic και μπορούν εύκολα να μετατραπούν σε Python.

## Ιδιότητες

Όνομα | Μόνο για ανάγνωση | Τύπος | Περιγραφή
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

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

### Σύνταξη:

            FSO.BuildPath(FolderName As String, Name As String) As String

### Παράμετροι:

FolderName: The path with which Name will be combined. The specified path does not need to be an existing folder.

Name: The name of the file to be appended to FolderName. This parameter uses the notation of the current operating system.

### Παράδειγμα:

          Dim FSO : FSO = CreateScriptService("FileSystem")
          FSO.FileNaming = "URL"
          MsgBox FSO.BuildPath("file:///home/user", "sample file.odt")
          'file:///home/user/sample%20file.odt

## CompareFiles

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

Depending on the value of the CompareContents argument, the comparison between both files can be either based only on file attributes (such as the last modified date), or based on the file contents.

### Σύνταξη:

              FSO.CompareFiles(FileName1 As String, FileName2 As String, [CompareContents As Boolean]) As Boolean

### Παράμετροι:

FileName1, FileName2: The files to compare.

CompareContents: When True, the contents of the files are compared (default = False).

### Παράδειγμα:

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

## CopyFile

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

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

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

### Σύνταξη:

            FSO.CopyFile(Source As String, Destination As String, [Overwrite As Boolean]) As Boolean

### Παράμετροι:

Source: It can be a FileName or a NamePattern indicating one or more files to be copied.

Destination: It can be either a FileName specifying where the single Source file is to be copied, or a FolderName into which the multiple files from Source are to be copied.

- If FolderName does not exist, it is created.

- Wildcard characters are not allowed in Destination.

Overwrite: If True (default), files may be overwritten. The method will fail if Destination is readonly, regardless of the value specified in Overwrite.

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            ' Copies a single file
            FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
            ' Copies multiple files. Only files are copied, subfolders are not.
            FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)

## CopyFolder

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

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

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

### Σύνταξη:

            FSO.CopyFolder(Source As String, Destination As String, [Overwrite As Boolean]) As Boolean

### Παράμετροι:

Source: It can be a FolderName or a NamePattern indicating one or more folders to be copied.

Destination: Specifies the FolderName into which the single or multiple folders defined in Source are to be copied.

- If FolderName does not exist, it is created.

- Wildcard characters are not allowed in Destination.

Overwrite: If True (default), files may be overwritten. The method will fail if Destination is readonly, regardless of the value specified in Overwrite.

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False)
            ' Folders, their files and their subfolders are copied

## CreateFolder

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

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

### Σύνταξη:

            FSO.CreateFolder(FolderName As String) As Boolean

### Παράμετροι:

FolderName: A string representing the folder to be created. If the folder already exists, an exception will be raised.

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            FSO.CreateFolder("C:\NewFolder\")

## CreateTextFile

Creates a specified file and returns a TextStream object that can be used to write to the file.

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

### Σύνταξη:

            FSO.CreateTextFile(FileName As String, [Overwrite As Boolean], [Encoding As String]) As Object

### Παράμετροι:

FileName: The name of the file to be created.

Overwrite: Boolean value that determines if FileName can be overwritten (default = True).

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

### Παράδειγμα:

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

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

## DeleteFile

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

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

Τα αρχεία που θα διαγραφούν δεν πρέπει να είναι μόνο για ανάγνωση.

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

### Σύνταξη:

            FSO.DeleteFile(FileName As String) As Boolean

### Παράμετροι:

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

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            FSO.DeleteFile("C:\Temp\*.docx")
            ' Only files are deleted, subfolders are not

## DeleteFolder

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

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

Οι φάκελοι που θα διαγραφούν δεν πρέπει να είναι μόνο για ανάγνωση.

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

### Σύνταξη:

            FSO.DeleteFolder(FolderName As String) As Boolean

### Παράμετροι:

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

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            FSO.DeleteFolder("C:\Temp\*")
            ' Only folders are deleted, files in the top folder (C:\Temp\) are not

## FileExists

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

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

### Σύνταξη:

            FSO.FileExists(FileName As String) As Boolean

### Παράμετροι:

FileName: A string representing the file to be tested.

### Παράδειγμα:

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

## Files

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

If FolderName does not exist, an exception is raised.

Ο κατάλογος που προκύπτει μπορεί να φιλτραριστεί με χαρακτήρες υποκατάστασης.

### Σύνταξη:

            FSO.Files(FolderName As String, [Filter As String]) As Variant

### Παράμετροι:

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 files (default = "").

### Παράδειγμα:

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

## FolderExists

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

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

### Σύνταξη:

            FSO.FolderExists(FolderName As String) As Boolean

### Παράμετροι:

FolderName: A string representing the folder to be tested.

### Παράδειγμα:

            FSO.FolderNaming = "SYS"
            If FSO.FolderExists("C:\Documents\Thesis") Then
                '...
            End If

## GetBaseName

Επιστρέφει το BaseName (ίσο με το τελευταίο στοιχείο) ενός ονόματος φακέλου ή αρχείου, χωρίς την επέκτασή του.

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

### Σύνταξη:

            FSO.GetBaseName(FileName As String) As String

### Παράμετροι:

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

### Παράδειγμα:

            ' If the input parameter is a folder, it returns the last component of the path
            MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
            ' If the input parameter is a file, the method returns the file name without the extension and the path
            MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"

## GetExtension

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

Η μέθοδος δεν ελέγχει την ύπαρξη του καθορισμένου αρχείου ή φακέλου.

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

### Σύνταξη:

            FSO.GetExtension(FileName As String) As String

### Παράμετροι:

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

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            MsgBox FSO.GetExtension("C:\Windows\Notepad.exe")  ' "exe"

## GetFileLen

Η ενσωματωμένη συνάρτηση της Basic FileLen επιστρέφει τον αριθμό των byte που περιέχονται σε ένα αρχείο ως τιμή Long, δηλαδή έως 2 GB.

Η μέθοδος GetFileLen μπορεί να χειριστεί αρχεία με πολύ μεγαλύτερα μεγέθη επιστρέφοντας μια τιμή Currency.

### Σύνταξη:

            FSO.GetFileLen(FileName As String) As Currency

### Παράμετροι:

FileName: A string representing an existing file.

### Παράδειγμα:

            Dim a As Currency
            FSO.FileNaming = "SYS"
            a = FSO.GetFileLen("C:\pagefile.sys")

## GetFileModified

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

### Σύνταξη:

            FSO.GetFileModified(FileName As String) As Date

### Παράμετροι:

FileName: A string representing an existing file.

### Παράδειγμα:

            Dim a As Date
            FSO.FileNaming = "SYS"
            a = FSO.GetFileModified("C:\Documents\my_file.odt")

## GetName

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

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

### Σύνταξη:

            FSO.GetName(FileName As String) As String

### Παράμετροι:

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

### Παράδειγμα:

            Dim a As String
            FSO.FileNaming = "SYS"
            a = FSO.GetName("C:\Windows\Notepad.exe"  ' Notepad.exe

## GetParentFolderName

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

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

### Σύνταξη:

            FSO.GetParentFolderName(FileName As String) As String

### Παράμετροι:

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

### Παράδειγμα:

            Dim a As String
            FSO.FileNaming = "SYS"
            a = FSO.GetParentFolderName("C:\Windows\Notepad.exe"  ' C:\Windows\

## GetTempName

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

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

Η μέθοδος δεν δημιουργεί το προσωρινό αρχείο.

### Σύνταξη:

            FSO.GetTempName() As String

### Παράδειγμα:

            Dim a As String
            FSO.FolderNaming = "SYS"
            a = FSO.GetTempName() & ".txt"
            ' "/tmp/SF_574068.txt"

## HashFile

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

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

Οι αλγόριθμοι κατακερματισμού που υποστηρίζονται είναι: MD5, SHA1, SHA224, SHA256, SHA384 και SHA512.

### Σύνταξη:

            FSO.HashFile(FileName As String, Algorithm As String) As String

### Παράμετροι:

FileName: A string representing an existing file.

Algorithm: One of the supported algorithms.

### Παράδειγμα:

            FSO.FileNaming = "SYS"
            MsgBox FSO.HashFile("C:\pagefile.sys", "MD5")

## MoveFile

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

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

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

### Σύνταξη:

            FSO.MoveFile(Source As String, Destination As String) As Boolean

### Παράμετροι:

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.

### Παράδειγμα:

            Dim a As String
            FSO.FileNaming = "SYS"
            FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2\")
            ' Only files are moved, subfolders are not

## MoveFolder

Μετακινεί έναν ή περισσότερους φακέλους από μια θέση σε άλλη. Επιστρέφει True (σωστό) εάν έχει μετακινηθεί τουλάχιστον ένας φάκελος ή False εάν προέκυψε σφάλμα.

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

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

### Σύνταξη:

            FSO.MoveFolder(Source As String, Destination As String) As Boolean

### Παράμετροι:

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.

### Παράδειγμα:

            Dim a As String
            FSO.FileNaming = "SYS"
            FSO.MoveFolder("C:\Temp1\*", "C:\Temp2\")

## OpenTextFile

Ανοίγει ένα αρχείο και επιστρέφει ένα αντικείμενο TextStream που μπορεί να χρησιμοποιηθεί για ανάγνωση, εγγραφή ή προσθήκη στο αρχείο.

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

The method returns a Null object if an error occurred.

### Σύνταξη:

            FSO.OpenTextFile(FileName As String, [IOMode As Integer], [Create As Boolean], [Encoding As String]) As Object

### Παράμετροι:

FileName: Identifies the file to open.

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

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

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

- Εάν είναι False τότε δεν δημιουργούνται νέα αρχεία (προεπιλογή).

Encoding: The character set to be used. The default encoding is "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

## PickFile

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

Εάν έχει ρυθμιστεί η λειτουργία SAVE (ΑΠΟΘΗΚΕΥΣΗ) και υπάρχει το επιλεγμένο αρχείο, θα εμφανιστεί ένα προειδοποιητικό μήνυμα.

### Σύνταξη:

          FSO.PickFile([DefaultFile As String], [Mode As String], [Filter As String]) As String

### Παράμετροι:

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

- Το τμήμα φακέλου υποδεικνύει τον φάκελο που θα εμφανιστεί όταν ανοίξει το παράθυρο διαλόγου (προεπιλογή = ο τελευταίος επιλεγμένος φάκελος).

- Το τμήμα αρχείου προσδιορίζει το προεπιλεγμένο αρχείο για άνοιγμα ή αποθήκευση.

Mode: OPEN (input file) or SAVE (output file). The default value is OPEN.

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

### Παράδειγμα:

            Dim a As Variant
            FSO.FileNaming = "SYS"
            a = FSO.PickFile("C:\", "OPEN", "txt")
            ' Only *.txt files are displayed

## PickFolder

Ανοίγει ένα πλαίσιο διαλόγου για να επιλέξετε έναν φάκελο.

### Σύνταξη:

            FSO.PickFolder([DefaultFolder As String], [FreeText As String]) As String

### Παράμετροι:

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

### Παράδειγμα:

            Dim a As Variant
            FSO.FileNaming = "SYS"
            a = FSO.PickFolder("C:\", "Choose a folder or press Cancel")

## SubFolders

Returns a zero-based array of the folders stored in a given FolderName.

Ο κατάλογος μπορεί να φιλτραριστεί με χαρακτήρες υποκατάστασης.

### Σύνταξη:

            FSO.SubFolders(FolderName As String, [Filter As String]) As Variant

### Παράμετροι:

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

### Παράδειγμα:

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

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

Σχετικά θέματα

ScriptForge.TextStream service

Input Function

Open Statement