Dienst ScriptForge.FileSystem

Der Dienst FileSystem enthält Routinen zur Handhabung von Dateien und Ordnern. Als erstes sind einige Beispiele für die Funktionen dieses Dienstes aufgeführt:

note

Die Methoden im Dienst FileSystem basieren hauptsächlich auf der UNO-Schnittstelle XSimpleFileAccess.


Definitionen

Die folgende Tabelle listet die Hauptparameter auf, die von den meisten Methoden im Dienst FileSystem verwendet werden.

Parameter

Beschreibung

FileName

Der vollständige Name der Datei einschließlich des Pfads ohne Pfadtrennzeichen am Ende.

FolderName

Der vollständige Name des Ordners einschließlich des Pfads. Er kann das abschließende Pfadtrennzeichen enthalten oder nicht.

Name

Der letzte Bestandteil des Ordnernamens oder Dateinamens einschließlich seiner Erweiterung. Dieser Parameter wird immer im nativen Format des Betriebssystems ausgedrückt.

BaseName

Die letzte Bestandteil des Ordnernamens oder Dateinamens ohne seine Erweiterung.

NamePattern

Einer der oben genannten Namen, der in seiner letzten Komponente Platzhalter enthält. Zugelassene Platzhalter sind:

  • "?" steht für ein beliebiges einzelnes Zeichen

  • "*" steht für kein, ein oder mehrere Zeichen


tip

Der Dienst FileSystem ermöglicht es, Operationen für mehrere Dateien gleichzeitig auszuführen. Durch die Verwendung von Namensmustern können Benutzerskripts mehrere Dateien kopieren, verschieben oder löschen. Umgekehrt können integrierte Basic-Methoden nur einzelne Dateien verarbeiten.


Notation für Dateinamen

Die zum Ausdrücken von Datei- und Ordnernamen verwendete Notation, sowohl für Argumente als auch für zurückgegebene Werte, wird durch die Eigenschaft FileNaming des Dienstes FileSystem festgelegt.

Kurz gesagt, die möglichen Darstellungstypen sind "URL" (URL-Dateinotation), "SYS" (Betriebssystemnotation) und "ANY" (Standard). Weitere Informationen finden Sie unten.

tip

Ein Beispiel für die URL-Notation ist file:///C:/Documents/my_file.odt. Erwägen Sie nach Möglichkeit die Verwendung der URL-Notation, da dies eine übertragbare Alternative ist.


warning

Die Verwendung der Abkürzung „~“ (Tilde), die in Linux-basierten Betriebssystemen üblich ist, wird nicht unterstützt, um einen Pfad zu einem Ordner und Dateinamen auszudrücken. Verwenden Sie anstelle von "~/Dokumente/MeineDatei.odt" den vollständigen Pfad "/home/user/Dokumente/MeineDatei.odt".


Dienstaufruf

Der folgende Code-Schnipsel ruft den Dienst FileSystem auf. Als Beispiel wurde die Methode BuildPath verwendet.

In Basic

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

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

Eigenschaften

Name

ReadOnly

Typ

Beschreibung

FileNaming

Nein

String

Legt die aktuelle Datei- und Ordnernotation fest oder gibt sie zurück, entweder "ANY", "URL" oder "SYS":

  • "ANY": (Standard) Die Methoden des Dienstes FileSystem akzeptieren sowohl die URL-Notation als auch die Notation des aktuellen Betriebssystems für Eingabeargumente, geben aber immer URL-Zeichenfolgen zurück.

  • "URL": Die Methoden des Dienstes FileSystem erwarten die URL-Notation für Eingabeargumente und geben URL-Zeichenfolgen zurück.

  • "SYS": Die Methoden des Dienstes FileSystem erwarten die Notation des aktuellen Betriebssystems für Eingabeargumente und geben diese auch zurück.

Einmal gesetzt, bleibt die Eigenschaft FileNaming unverändert, entweder bis zum Ende der LibreOfficeDev-Sitzung oder bis sie erneut gesetzt wird.

ConfigFolder

Ja

String

Gibt den Konfigurationsordner von LibreOfficeDev zurück.

ExtensionsFolder

Ja

String

Gibt den Ordner zurück, in dem Extensions installiert sind.

HomeFolder

Ja

String

Gibt den Home-Ordner des Benutzers zurück.

InstallFolder

Ja

String

Gibt den Installationsordner von LibreOfficeDev zurück.

TemplatesFolder

Ja

String

Gibt den Ordner zurück, der die System-Dateivorlagen enthält.

TemporaryFolder

Ja

String

Gibt den Ordner für temporäre Dateien zurück, der in den LibreOfficeDev-Pfadeinstellungen definiert ist.

UserTemplatesFolder

Ja

String

Gibt den Ordner zurück, der die benutzerdefinierten Dokumentvorlagen-Dateien enthält.


Liste der Methoden im Dienst FileSystem

BuildPath
CompareFiles
CopyFile
CopyFolder
CreateFolder
CreateTextFile
DeleteFile
DeleteFolder
ExtensionFolder

FileExists
Files
FolderExists
GetBaseName
GetExtension
GetFileLen
GetFileModified
GetName
GetParentFolderName

GetTempName
HashFile
MoveFile
MoveFolder
OpenTextFile
PickFile
PickFolder
SubFolders


BuildPath

Verbindet einen Ordnerpfad und den Namen einer Datei und gibt den vollständigen Dateinamen mit einem gültigen Pfadtrennzeichen zurück. Das Pfadtrennzeichen wird nur bei Bedarf hinzugefügt.

Syntax:

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

Parameter:

foldername: Der Pfad, mit dem name kombiniert wird. Der angegebene Pfad muss kein vorhandener Ordner sein.

name: Der Name der Datei, die an foldername angehängt werden soll. Dieser Parameter verwendet die Notation des aktuellen Betriebssystems.

Beispiel:

In 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
    
In Python

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

CompareFiles

Vergleicht zwei Dateien und gibt True zurück, wenn sie identisch zu sein scheinen.

Abhängig vom Wert des Arguments comparecontents kann der Vergleich zwischen beiden Dateien entweder nur auf Dateiattributen (wie dem letzten Änderungsdatum) oder auf dem Dateiinhalt basieren.

Syntax:

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

Parameter:

filename1, filename2: Die zu vergleichenden Dateien.

comparecontents: Bei True werden die Inhalte der Dateien verglichen (Standard = False).

Beispiel:

In Basic

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

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

CopyFile

Kopiert eine oder mehrere Dateien von einem Speicherort an einen anderen. Gibt True zurück, wenn mindestens eine Datei kopiert wurde, oder False, wenn ein Fehler aufgetreten ist.

Ein Fehler tritt auch auf, wenn der Parameter source Platzhalter verwendet und mit keiner Datei übereinstimmt.

Die Methode stoppt sofort, nachdem sie auf einen Fehler gestoßen ist. Die Methode führt kein Rollback durch und macht auch keine Änderungen rückgängig, die vor dem Auftreten des Fehlers vorgenommen wurden.

Syntax:

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

Parameter:

source: Kann ein FileName oder ein NamePattern sein, der eine oder mehrere zu kopierende Dateien angibt.

destination: Kann entweder ein FileName sein, der angibt, wohin die einzelne source kopiert werden soll, oder ein FolderName, in den mehrere Dateien aus source kopiert werden sollen.

overwrite: Wenn True (Standard), dürfen Dateien überschrieben werden. Die Methode schlägt fehl, wenn destination schreibgeschützt ist, unabhängig von dem in overwrite angegebenen Wert.

Beispiel:

In den folgenden Beispielen kopiert die erste Zeile eine einzelne Datei, während die zweite Zeile mehrere Dateien mit Platzhaltern kopiert.

In Basic

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

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

Beachten Sie, dass Unterordner und ihre Inhalte nicht kopiert werden, wenn Platzhalter im Argument source verwendet werden.


CopyFolder

Kopiert einen oder mehrere Ordner von einem Speicherort an einen anderen. Gibt True zurück, wenn mindestens ein Ordner kopiert wurde, oder False, wenn ein Fehler aufgetreten ist.

Ein Fehler tritt auch auf, wenn der Parameter source Platzhalter verwendet und mit keinem Ordner übereinstimmt.

Die Methode stoppt sofort, nachdem sie auf einen Fehler gestoßen ist. Die Methode führt kein Rollback durch und macht auch keine Änderungen rückgängig, die vor dem Auftreten des Fehlers vorgenommen wurden.

Syntax:

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

Parameter:

source: Kann ein FolderName oder ein NamePattern sein, der einen oder mehrere zu kopierende Ordner angibt.

destination: Gibt den FolderName an, in den die in source definierten einzelnen oder mehrere Ordner kopiert werden sollen.

overwrite: Wenn True (Standard), dürfen Dateien überschrieben werden. Die Methode schlägt fehl, wenn destination schreibgeschützt ist, unabhängig von dem in overwrite angegebenen Wert.

Beispiel:

In den Beispielen unten werden alle Dateien, Ordner und Unterordner kopiert.


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

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

CreateFolder

Erstellt den angegebenen FolderName. Gibt True zurück, wenn der Ordner erfolgreich erstellt werden konnte.

Wenn der angegebene Ordner einen nicht vorhandenen übergeordneten Ordner hat, wird er erstellt.

Syntax:

svc.CreateFolder(foldername: str): bool

Parameter:

foldername: Eine Zeichenfolge, die den zu erstellenden Ordner darstellt. Wenn der Ordner bereits vorhanden ist, wird eine Ausnahme ausgelöst.

Beispiel:


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

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

CreateTextFile

Erstellt eine angegebene Datei und gibt eine Dienstinstanz TextStream zurück, die zum Schreiben in die Datei verwendet werden kann.

Die Methode gibt ein Objekt Null zurück, wenn ein Fehler aufgetreten ist.

Syntax:

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

Parameter:

filename: Der Name der zu erstellenden Datei.

overwrite: Boolescher Wert, der bestimmt, ob filename überschrieben werden kann (Standard = True).

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

Beispiel:

In Basic

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

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

To learn more about the names of character sets, visit IANA's Character Set page. Beware that LibreOfficeDev does not implement all existing character sets.


DeleteFile

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

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.

Syntax:

svc.DeleteFile(filename: str): bool

Parameter:

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

Beispiel:

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


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

      # Python
      fs.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.

Syntax:

svc.DeleteFolder(foldername: str): bool

Parameter:

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

Beispiel:

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
      fs.DeleteFolder(r"C:\Temp\*")
    

ExtensionFolder

Returns a string containing the folder where the specified extension package is installed.

The current value of the property SF_FileSystem.FileNaming is used to determine the notation of the returned string.

tip

Use the property Extensions from the Platform service to get string array with the IDs of all installed extensions.


Syntax:

svc.ExtensionFolder(extension: str): str

Parameter:

extension: A string value with the ID of the extension. If the extension is not installed, an exception is raised.

Beispiel:

The examples below in Basic and Python return the folder where the APSO extension is installed.


      ' 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")
    

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.

Syntax:

svc.FileExists(filename: str): bool

Parameter:

filename: A string representing the file to be tested.

Beispiel:

In Basic

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

      fs.FileNaming = "SYS"
      if fs.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.

Syntax:

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

Parameter:

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

Beispiel:

In Basic

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

      fs.FileNaming = "SYS"
      filesList = fs.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.

Syntax:

svc.FolderExists(foldername: str): bool

Parameter:

foldername: A string representing the folder to be tested.

Beispiel:

In Basic

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

      fs.FileNaming = "SYS"
      if fs.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.

Syntax:

svc.GetBaseName(filename: str): str

Parameter:

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

Beispiel:

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.

In Basic

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

      bas = CreateScriptService("Basic")
      bas.MsgBox(fs.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fs.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.

Syntax:

svc.GetExtension(filename: str): str

Parameter:

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

Beispiel:


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

      # Python
      ext = fs.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.

Syntax:

svc.GetFileLen(filename: str): num

Parameter:

filename: A string representing an existing file.

Beispiel:

In Basic

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

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

GetFileModified

Returns the last modified date of a given file.

Syntax:

svc.GetFileModified(filename: str): datetime

Parameter:

filename: A string representing an existing file.

Beispiel:

In Basic

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

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

Syntax:

svc.GetName(filename: str): str

Parameter:

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

Beispiel:


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

      # Python
      a = fs.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.

Syntax:

svc.GetParentFolderName(filename: str): str

Parameter:

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

Beispiel:


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

      # Python
      a = fs.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.

Syntax:

svc.GetTempName(): str

Beispiel:

In Basic

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

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

Syntax:

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

Parameter:

filename: A string representing an existing file.

algorithm: One of the supported algorithms.

Beispiel:


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

Syntax:

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

Parameter:

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.

Beispiel:

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


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

      # Python
      fs.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.

Syntax:

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

Parameter:

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.

Beispiel:


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

      # Python
      fs.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.

Syntax:

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

Parameter:

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

Beispiel:

In 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
    
In Python

      fs.FileNaming = "SYS"
      myFile = fs.OpenTextFile(r"C:\Temp\ThisFile.txt", fs.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.

Syntax:

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

Parameter:

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

Beispiel:

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


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

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

PickFolder

Opens a dialog box to select a folder.

Syntax:

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

Parameter:

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

Beispiel:


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

      # Python
      aFolder = fs.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.

Syntax:

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

Parameter:

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

Beispiel:

In Basic

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

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

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind für den internen Gebrauch reserviert. Sie sind nicht für die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.