Usługa ScriptForge.FileSystem

Usługa FileSystem zawiera procedury do obsługi plików i folderów. Poniżej znajduje się kilka przykładów funkcji udostępnianych przez tę usługę:

note

Metody w usłudze FileSystem opierają się głównie na interfejsie UNO XSimpleFileAccess.


Definicje

Poniższa tabela zawiera listę głównych parametrów używanych przez większość metod usługi FileSystem.

Parametr

Opis

FileName

Pełna nazwa pliku, łącznie ze ścieżką bez separatora ścieżki na końcu.

FolderName

Pełna nazwa folderu wraz ze ścieżką. Może zawierać końcowy separator ścieżki lub nie.

Name

Ostatni składnik Nazwa folderu lub Nazwa pliku łącznie z jego rozszerzeniem. Ten parametr jest zawsze wyrażany przy użyciu natywnego formatu systemu operacyjnego.

BaseName

Ostatni składnik Nazwy folderu lub Nazwy pliku bez rozszerzenia.

NamePattern

Dowolna z powyższych nazw zawierająca w ostatnim elemencie symbole wieloznaczne. Dozwolone symbole wieloznaczne to:

  • "?" reprezentuje dowolny pojedynczy znak

  • "*" reprezentuje zero, jeden lub wiele znaków


tip

Usługa FileSystem umożliwia wykonywanie operacji na wielu plikach jednocześnie. Używając wzorców nazw, skrypty użytkownika mogą kopiować, przenosić lub usuwać wiele plików. I odwrotnie, metody wbudowane Basic mogą obsługiwać tylko pojedyncze pliki.


Notacja nazewnictwa plików

Notacja używana do wyrażania nazw plików i folderów, zarówno jako argumentów, jak i zwracanych wartości, jest definiowana przez właściwość FileNaming usługi FileSystem.

In short, the possible representation types are "URL" (URL file notation), "SYS" (operating system notation) and "ANY" (default). See more information below.

tip

Przykładem zapisu adresu URL jest file:///C:/Documents/my_file.odt. Jeśli to możliwe, rozważ użycie zapisu adresu URL, ponieważ jest to bardziej przenośna alternatywa.


warning

Użycie skrótu „~” (tylda), które jest powszechne w systemach operacyjnych opartych na systemie Linux, nie jest obsługiwane w celu wyrażenia ścieżki do folderu i nazwy pliku. Zamiast używać „~/Documents/my_file.odt” użyj pełnej ścieżki „/home/user/Documents/my_file.odt”.


Wywoływanie usługi

Poniższy fragment kodu wywołuje usługę FileSystem. Jako przykład wykorzystano metodę BuildPath.

W języku Basic

      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim FSO As Object
      Set FSO = CreateScriptService("FileSystem")
      FSO.BuildPath(...)
    
W języku Python

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

Właściwości

Nazwa

Tylko do odczytu

Typ

Opis

FileNaming

Nie

String

Ustawia lub zwraca bieżącą notację plików i folderów "ANY", "URL" lub "SYS":

  • "ANY": (domyślnie) metody usługi FileSystem akceptują jako argumenty wejściowe zarówno adres URL, jak i notację bieżącego systemu operacyjnego, ale zawsze zwracają ciągi adresów URL.

  • "URL": metody usługi FileSystem oczekują zapisu adresu URL dla argumentów wejściowych i zwrotnych ciągów adresu URL.

  • "SYS": metody usługi FileSystem oczekują notacji bieżącego systemu operacyjnego zarówno dla argumentów wejściowych, jak i ciągów zwracanych.

Raz ustawiona właściwość FileNaming pozostaje niezmieniona do końca sesji LibreOffice lub do ponownego ustawienia.

ConfigFolder

Tak

String

Zwraca folder konfiguracyjny LibreOffice.

ExtensionsFolder

Tak

String

Zwraca folder, w którym zainstalowane są rozszerzenia.

HomeFolder

Tak

String

Zwraca folder domowy użytkownika.

InstallFolder

Tak

String

Zwraca folder instalacyjny LibreOffice.

TemplatesFolder

Tak

String

Zwraca folder zawierający pliki szablonów systemowych.

TemporaryFolder

Tak

String

Zwraca folder plików tymczasowych zdefiniowany w ustawieniach ścieżki LibreOffice.

UserTemplatesFolder

Tak

String

Zwraca folder zawierający pliki niestandardowych szablonów dokumentów.


Lista metod w usłudze FileSystem

BuildPath
CompareFiles
CopyFile
CopyFolder
CreateFolder
CreateTextFile
DeleteFile
DeleteFolder
ExtensionFolder

FileExists
Files
FolderExists
GetBaseName
GetExtension
GetFileLen
GetFileModified
GetName
GetParentFolderName

GetTempName
HashFile
MoveFile
MoveFolder
Normalize
OpenTextFile
PickFile
PickFolder
SubFolders


BuildPath

Łączy ścieżkę folderu z nazwą pliku i zwraca pełną nazwę pliku z prawidłowym separatorem ścieżki. Separator ścieżki jest dodawany tylko w razie potrzeby.

Składnia:

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

Parametry:

foldername: ścieżka, z którą name zostanie połączony. Określona ścieżka nie musi być istniejącym folderem.

name: nazwa pliku, który ma zostać dołączony do foldername. Ten parametr wykorzystuje notację bieżącego systemu operacyjnego.

Przykład:

W języku 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
    
W języku Python

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

CompareFiles

Porównuje dwa pliki i zwraca wartość True, gdy wydają się identyczne.

W zależności od wartości argumentu comparecontents porównanie obu plików może opierać się wyłącznie na atrybutach pliku (takich jak data ostatniej modyfikacji) lub na podstawie zawartości pliku.

Składnia:

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

Parametry:

filename1, filename2: pliki do porównania.

comparecontents: Gdy True, porównywana jest zawartość plików (domyślnie = False).

Przykład:

W języku Basic

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

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

CopyFile

Kopiuje jeden lub więcej plików z jednej lokalizacji do drugiej. Zwraca wartość True, jeśli co najmniej jeden plik został skopiowany, lub False, jeśli wystąpił błąd.

Błąd wystąpi również, jeśli parametr source używa znaków wieloznacznych i nie pasuje do żadnego pliku.

Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.

Składnia:

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

Parametry:

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.

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

Przykład:

In the examples below the first line copies a single file whereas the second line copies multiple files using wildcards.

W języku Basic

      FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
      FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)
    
W języku 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

Be aware that subfolders and their contents are not copied when wildcards are used in the source argument.


CopyFolder

Copies one or more folders from one location to another. Returns True if at least one folder has been copied 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.

Składnia:

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

Parametry:

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.

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

Przykład:

In the examples below all files, folders and subfolders are copied.


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

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

CreateFolder

Creates the specified FolderName. Returns True if the folder could be successfully created.

If the specified folder has a parent folder that does not exist, it is created.

Składnia:

svc.CreateFolder(foldername: str): bool

Parametry:

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

Przykład:


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

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

CreateTextFile

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

The method returns a Null object if an error occurred.

Składnia:

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

Parametry:

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

Przykład:

W języku Basic

      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True)
    
W języku 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. Be aware that LibreOffice 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.

Składnia:

svc.DeleteFile(filename: str): bool

Parametry:

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

Przykład:

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.

Składnia:

svc.DeleteFolder(foldername: str): bool

Parametry:

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

Przykład:

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.

note

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.


Składnia:

svc.ExtensionFolder(extension: str): str

Parametry:

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

Przykład:

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.

Składnia:

svc.FileExists(filename: str): bool

Parametry:

filename: A string representing the file to be tested.

Przykład:

W języku Basic

      FSO.FileNaming = "SYS"
      If FSO.FileExists("C:\Documents\my_file.odt") Then
          '...
      End If
    
W języku 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.

Składnia:

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

Parametry:

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

Przykład:

W języku Basic

      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      filesList = FSO.Files("/home/user/", "*.txt")
      For Each file In filesList
          ' ...
      Next file
    
W języku 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.

Składnia:

svc.FolderExists(foldername: str): bool

Parametry:

foldername: A string representing the folder to be tested.

Przykład:

W języku Basic

      FSO.FileNaming = "SYS"
      If FSO.FolderExists("C:\Documents\Thesis") Then
          '...
      End If
    
W języku 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.

Składnia:

svc.GetBaseName(filename: str): str

Parametry:

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

Przykład:

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.

W języku Basic

      MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
      MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"
    
W języku 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.

Składnia:

svc.GetExtension(filename: str): str

Parametry:

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

Przykład:


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

Składnia:

svc.GetFileLen(filename: str): num

Parametry:

filename: A string representing an existing file.

Przykład:

W języku Basic

      Dim fLen As Currency
      FSO.FileNaming = "SYS"
      fLen = FSO.GetFileLen("C:\pagefile.sys")
    
W języku Python

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

GetFileModified

Returns the last modified date of a given file.

Składnia:

svc.GetFileModified(filename: str): datetime

Parametry:

filename: A string representing an existing file.

Przykład:

W języku Basic

      Dim aDate As Date
      FSO.FileNaming = "SYS"
      aDate = FSO.GetFileModified("C:\Documents\my_file.odt")
    
W języku 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.

Składnia:

svc.GetName(filename: str): str

Parametry:

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

Przykład:


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

Składnia:

svc.GetParentFolderName(filename: str): str

Parametry:

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

Przykład:


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

Składnia:

svc.GetTempName(): str

Przykład:

W języku Basic

      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName() & ".txt"
      ' "/tmp/SF_574068.txt"
    
W języku 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.

Składnia:

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

Parametry:

filename: A string representing an existing file.

algorithm: One of the supported algorithms.

Przykład:


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

Składnia:

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

Parametry:

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.

Przykład:

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.

Składnia:

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

Parametry:

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.

Przykład:


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

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

Normalize

Returns a string containing the normalized path name by collapsing redundant separators and up-level references.

For instance, the path names A//B, A/B/, A/./B and A/foo/../B are all normalized to A/B.

On Windows, forward slashes "/" are converted to backward slashes "\".

note

The current value of the property SF_FileSystem.FileNaming is used to determine the notation of the filename argument as well as the format of the returned string.


Składnia:

svc.Normalize(filename: str): str

Parametry:

filename: a string representing a valid path name. The file or directory represented by this argument may not exist.

Przykład:

W języku Basic

    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/../")
  
W języku Python

    fs.FileNaming = "URL"
    normPath = fs.Normalize("file:///home/user/Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/../")
  

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.

Składnia:

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

Parametry:

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

Przykład:

W języku 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
    
W języku 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.

Składnia:

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

Parametry:

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

Przykład:

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.

Składnia:

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

Parametry:

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

Przykład:


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

Składnia:

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

Parametry:

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

Przykład:

W języku Basic

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

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

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.