LibreOffice 24.8 Help
De service FileSystem bevat routines om met bestanden en mappen te werken. Enkele voorbeelden van de functies in deze service:
Testen of een bestand of map bestaat.
Mappen en bestanden aanmaken en verwijderen.
Dialoogvensters starten om bestanden te openen of op te slaan.
Toegang tot een lijst van bestanden in een map, enz.
De methodes in de service FileSystem zijn grotendeels gebaseerd op de XSimpleFileAccess UNO interface.
In onderstaande tabel staan de belangrijkste parameters die door de methodes in service FileSystem worden gebruikt.
| Parameter | Beschrijving | 
|---|---|
| FileName | De volledige naam van het bestand inclusief het pad, zonder padscheidingsteken aan het eind. | 
| FolderName | De volledige naam van de map inclusief het pad. Kan met of zonder padscheidingsteken aan het eind zijn. | 
| Name | Het laatste deel van de Folder Name of de File Name inclusief de extensie. Deze parameter is altijd in het eigen formaat van het besturingssysteem. | 
| BaseName | Het laatste deel van de Folder Name of File Name zonder de extensie. | 
| NamePattern | Elk van de bovenstaande namen met jokers in het laatste deel. De toegestane jokers zijn: 
 | 
Met de service FileSystem service is het mogelijk om meerdere bestanden tegelijk te bewerken. Door een naampatroon te gebruiken kan in een gebruikersscript meerder bestanden worden gekopieerd, verplaatst of verwijderd. De interne Basic-methodes werken altijd maar op één bestand.
De notatie die wordt gebruikt om bestands- en mapnamen uit te drukken, zowel voor argumenten als geretourneerde waarden, wordt gedefinieerd door de eigenschap FileNaming van de service FileSystem.
In het kort zijn de mogelijke weergavetypes "URL" (URL-bestandsnotatie), "SYS" (besturingssysteemnotatie) en "ANY" (standaard). Zie hieronder voor meer informatie.
Een voorbeeld van de URL-notatie is file:///C:/Documents/my_file.odt. Overweeg waar mogelijk de URL-notatie te gebruiken, omdat dit een meer overdraagbaar alternatief is.
Het gebruik van de sneltoets "~" (tilde), die gebruikelijk is in op Linux gebaseerde besturingssystemen, wordt niet ondersteund om een pad naar een map en bestandsnaam uit te drukken. Gebruik in plaats van "~/Documents/my_file.odt" het volledige pad "/home/user/Documents/my_file.odt".
In deze code wordt de service FileSystem aangeroepen. In dit voorbeeld, met de methode BuildPath.
      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim FSO As Object
      Set FSO = CreateScriptService("FileSystem")
      FSO.BuildPath(...)
    
      from scriptforge import CreateScriptService
      fs = CreateScriptService("FileSystem")
      fs.BuildPath(...)
    LibreOffice-documentbestanden zijn gecomprimeerde ZIP-bestanden die de bestanden en mappen bevatten die de daadwerkelijke documentinhoud vertegenwoordigen. Terwijl het document geopend is, is het mogelijk toegang te krijgen tot dit virtuele bestandssysteem, de structuur ervan te verkennen en bestanden en mappen te lezen en aan te maken.
Het volgende voorbeeld laat zien hoe u een tekstbestand met de naam myFile.txt maakt en dit opslaat in het virtuele bestandssysteem van het document.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oDoc As Object, fso As Object, oFile As Object
    Dim sRoot, sFile, sMyDir
    Set fso = CreateScriptService("FileSystem")
    Set oDoc = CreateScriptService("Document", ThisComponent)
    ' Haalt de URL-padnotatie op naar de hoofdmap van het virtuele bestandssysteem
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    ' Creëert de map "myDir" als deze niet bestaat
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Creëert het bestand en schrijft er wat tekst in
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    fso = CreateScriptService("FileSystem")
    sRoot = doc.FileSystem
    sMyDir = sRoot + "myDir"
    if not fso.FolderExists(sMyDir):
        fso.CreateFolder(sMyDir)
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  Over het algemeen kunnen alle methodes van de service FileSystem worden gebruikt om bestanden in het virtuele bestandssysteem van het document te manipuleren. De volgende beperkingen zijn echter van toepassing:
Het is niet mogelijk om bestanden in de hoofdmap aan te maken. Gebruik bestaande submappen of maak nieuwe mappen om bestanden in het bestandssysteem van het document op te slaan.
De notatie FileNaming wordt altijd beschouwd als "URL".
De methodes CompareFiles, GetFileModified, HashFile, PickFile en PickFolder zijn niet van toepassing.
De methode GetFileLen retourneert altijd nul.
De methode Normalize retourneert de invoertekenreeks altijd ongewijzigd.
Het pad naar het virtuele bestandssysteem is geen fysiek adres op de harde schijf van de computer. Het is alleen toegankelijk vanuit een LibreOffice-script en het bestaat alleen als het documentbestand geopend is.
| Naam | AlleenLezen | Type | Beschrijving | 
|---|---|---|---|
| FileNaming | Nee | String | Stelt of retourneert de huidige notatie van bestanden en mappen, ofwel "ANY", "URL" of "SYS": 
 Eenmaal ingesteld, blijft de eigenschap FileNaming ongewijzigd tot het einde van de LibreOffice-sessie of totdat deze opnieuw wordt ingesteld. | 
| ConfigFolder | Ja | String | Retourneert de configuratiemap van LibreOffice. | 
| ExtensionsFolder | Ja | String | Retourneert de map waarin extensies zijn geïnstalleerd. | 
| HomeFolder | Ja | String | Retourneert de basismap van de gebruiker. | 
| InstallFolder | Ja | String | Retourneert de installatiemap van LibreOffice. | 
| TemplatesFolder | Ja | String | Retourneert de map met de systeemsjablonenbestanden. | 
| TemporaryFolder | Ja | String | Retourneert de map met tijdelijke bestanden die is gedefinieerd in de padinstellingen van LibreOffice. | 
| UserTemplatesFolder | Ja | String | Retourneert de map met de door de gebruiker gedefinieerde sjabloonbestanden. | 
Voegt een mappad en de naam van een bestand samen en retourneert de volledige bestandsnaam met een geldig padscheidingsteken. Het padscheidingsteken wordt alleen toegevoegd als dat nodig is.
svc.BuildPath(foldername: str, name: str): str
foldername: Het pad waarmee name wordt gecombineerd. Het opgegeven pad hoeft geen bestaande map te zijn.
name: De naam van het bestand dat moet worden toegevoegd aan foldername. Deze parameter gebruikt de notatie van het huidige besturingssysteem.
      Dim FSO as Object
      Set FSO = CreateScriptService("FileSystem")
      Dim aFileName as String
      FSO.FileNaming = "URL"
      aFileName = FSO.BuildPath("file:///home/user", "sample file.odt")
      ' file:///home/user/sample%20file.odt
    
      fs = CreateScriptService("FileSystem")
      fs.FileNaming = "URL"
      aFileName = fs.BuildPath("file:///home/user", "sample file.odt")
      # file:///home/user/sample%20file.odt
    Vergelijkt twee bestanden en retourneert True wanneer ze identiek lijken.
Afhankelijk van de waarde van het argument comparecontents, kan de vergelijking tussen beide bestanden ofwel alleen gebaseerd zijn op bestandskenmerken (zoals de laatste wijzigingsdatum), ofwel op de inhoud van het bestand.
svc.CompareFiles(filename1: str, filename2: str, comparecontents: bool = False): bool
filename1, filename2: De te vergelijken bestanden.
comparecontents: Bij True wordt de inhoud van de bestanden vergeleken (standaard = False).
      FSO.FileNaming = "SYS"
      If FSO.CompareFiles("C:\myFile1.txt", "C:\myFile2.txt", CompareContents := False) Then
          ' ...
      End If
    
      fs.FileNaming = "SYS"
      if fs.CompareFiles(r"C:\myFile1.txt", r"C:\myFile2.txt", comparecontents = False):
          # ...
    Kopieert een of meer bestanden van de ene locatie naar de andere. Retourneert True als ten minste één bestand is gekopieerd of False als er een fout is opgetreden.
Er treedt ook een fout op als de parameter source jokertekens gebruikt en met geen enkel bestand overeenkomt.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.CopyFile(source: str, destination: str, overwrite: bool = True): bool
source: Het kan een FileName of een NamePattern zijn die aangeeft dat een of meer bestanden moeten worden gekopieerd.
destination: Het kan ofwel een FileName zijn die aangeeft waar het enkele source-bestand moet worden gekopieerd, of een FolderName waarin de meerdere bestanden van source moeten worden gekopieerd.
Als destination niet bestaat, wordt deze aangemaakt.
Jokertekens zijn niet toegestaan in destination.
overwrite: Indien True (standaard) mogen bestanden worden overschreven. Deze methode zal mislukken als de destination alleen-lezen is, ongeacht de gespecificeerde waarde in overwrite.
In de onderstaande voorbeelden wordt met de eerste regel één bestand gekopieerd, met de tweede regel worden er mogelijk meerdere bestanden gekopieerd omdat daar jokertekens zijn gebruikt.
      FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
      FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)
    
      fs.CopyFile(r"C:\Documents\my_file.odt", r"C:\Temp\copied_file.odt")
      fs.CopyFile(r"C:\Documents\*.*", r"C:\Temp", overwrite = False)
    Houd er rekening mee dat submappen en hun inhoud niet worden gekopieerd wanneer jokertekens worden gebruikt in het argument source.
Kopieert een of meer mappen van de ene locatie naar de andere. Retourneert True als ten minste één map is gekopieerd of False als er een fout is opgetreden.
Er treedt ook een fout op als de parameter source jokertekens gebruikt en met geen enkele map overeenkomt.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.CopyFolder(source: str, destination: str, overwrite: bool = True): bool
source: Het kan een FolderName of een NamePattern zijn die aangeeft dat een of meer mappen moeten worden gekopieerd.
destination: Specificeert de FolderName waarnaar de enkele of meerdere mappen die zijn gedefinieerd in source moeten worden gekopieerd.
Als destination niet bestaat, wordt deze aangemaakt.
Jokertekens zijn niet toegestaan in destination.
overwrite: Indien True (standaard), kunnen bestanden worden overschreven. De methode zal mislukken als destination alleen-lezen is, ongeacht de waarde die is opgegeven in overwrite.
In de onderstaande voorbeelden zijn alle bestanden, mappen en submappen gekopieerd.
      ' Basic
      FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False)
    
      # Python
      fs.CopyFolder(r"C:\Documents\*", r"C:\Temp", overwrite = False)
    Creëert de opgegeven FolderName. Retourneert True als de map met succes kon worden gemaakt.
Als de opgegeven map een bovenliggende map heeft die niet bestaat, wordt deze gemaakt.
svc.CreateFolder(foldername: str): bool
foldername: Een tekenreeks die de map vertegenwoordigt die moet worden gemaakt. Als de map al bestaat, wordt er een uitzondering gemaakt.
      ' Basic
      FSO.CreateFolder("C:\NewFolder")
    
      # Python
      fs.CreateFolder(r"C:\NewFolder")
    Creëert een gespecificeerd bestand en retourneert een service-instantie TextStream die kan worden gebruikt om naar het bestand te schrijven.
De methode retourneert een Null-object als er een fout is opgetreden.
svc.CreateTextFile(filename: str, overwrite: bool = True, encoding: str = 'UTF-8'): svc
filename: De naam van het aan te maken bestand.
overwrite: Booleaanse waarde die bepaalt of filename kan worden overschreven (standaard = True).
encoding: De tekenset die moet worden gebruikt. De standaardcodering is "UTF-8".
      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True)
    
      fs.FileNaming = "SYS"
      myFile = fs.CreateTextFile(r"C:\Temp\ThisFile.txt", overwrite = True)
    Ga voor meer informatie over de namen van karaktersets naar IANA's Character Set-pagina. Houd er rekening mee dat LibreOffice niet alle bestaande tekensets implementeert.
Verwijdert een of meer bestanden. Retourneert True als ten minste één bestand is verwijderd of False als er een fout is opgetreden.
Er zal ook een fout optreden als de parameter filename jokertekens gebruikt en met geen enkel bestand overeenkomt.
De te verwijderen bestanden mogen niet alleen-lezen zijn.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.DeleteFile(filename: str): bool
filename: Het kan een filename of een NamePattern zijn die het te verwijderen bestand (of bestanden) aangeeft.
In de onderstaande voorbeelden worden alleen bestanden verwijderd, submappen niet.
      ' Basic
      FSO.DeleteFile("C:\Temp\*.docx")
    
      # Python
      fs.DeleteFile(r"C:\Temp\*.docx")
    Verwijdert een of meer mappen. Retourneert True als ten minste één map is verwijderd of False als er een fout is opgetreden.
Er treedt ook een fout op als de parameter foldername jokertekens gebruikt en met geen enkele map overeenkomt.
De te verwijderen mappen mogen niet alleen-lezen zijn.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.DeleteFolder(foldername: str): bool
foldername: Het kan een FolderName of een NamePattern zijn die aangeeft dat een of meer mappen moeten worden verwijderd.
In de onderstaande voorbeelden worden alleen mappen en hun inhoud verwijderd. Bestanden in de bovenliggende map "C:\Temp" worden niet verwijderd.
      ' Basic
      FSO.DeleteFolder("C:\Temp\*")
    
      # Python
      fs.DeleteFolder(r"C:\Temp\*")
    Retourneert een tekenreeks met de map waarin het opgegeven extensiepakket is geïnstalleerd.
De huidige waarde van de eigenschap SF_FileSystem.FileNaming wordt gebruikt om de notatie van de geretourneerde tekenreeks te bepalen.
Gebruik de eigenschap Extensions van het Platform service om een tekenreeksmatrix te krijgen met de ID's van alle geïnstalleerde extensies.
svc.ExtensionFolder(extension: str): str
extension: Een tekenreeks met de ID van de extensie. Als de extensie niet is geïnstalleerd, wordt een uitzondering gemaakt.
De onderstaande voorbeelden in Basic en Python retourneren de map waarin de APSO-extensie is geïnstalleerd.
      ' 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")
    Retourneert True als een gegeven bestandsnaam geldig is en bestaat, anders retourneert de methode False.
Als de parameter filename daadwerkelijk een bestaande mapnaam is, retourneert de methode False.
svc.FileExists(filename: str): bool
filename: Een tekenreeks die het te testen bestand vertegenwoordigt.
      FSO.FileNaming = "SYS"
      If FSO.FileExists("C:\Documents\my_file.odt") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FileExists(r"C:\Documents\my_file.odt"):
          # ...
    Retourneert een op nul gebaseerde matrix van de bestanden die zijn opgeslagen in een bepaalde map. Elk item in de matrix is een tekenreeks die het volledige pad en de bestandsnaam bevat.
Als het argument foldername een map specificeert die niet bestaat, wordt er een uitzondering gemaakt.
De resulterende lijst kan worden gefilterd met jokertekens.
svc.Files(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername: Een tekenreeks die een map vertegenwoordigt. De map moet bestaan. Dit argument mag geen bestand aanduiden.
filter: Een tekenreeks met jokertekens ("?" en "*") die worden toegepast op de resulterende lijst met bestanden (standaard = "").
includesubfolders: Stel dit argument in op True om de inhoud van submappen op te nemen (standaard = False).
      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Retourneert alle bestanden die overeenkomen met het filter "*.txt", inclusief bestanden in submappen
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
      fs.FileNaming = "SYS"
      filesList = fs.Files("/home/user/", "*.txt", includesubfolders = True)
      for file in fileList:
          # ...
    Retourneert True als de opgegeven FolderName geldig is en bestaat, anders retourneert de methode False.
Als de parameter foldername daadwerkelijk een bestaande bestandsnaam is, retourneert de methode False.
svc.FolderExists(foldername: str): bool
foldername: Een tekenreeks die de map aangeeft die moet worden getest.
      FSO.FileNaming = "SYS"
      If FSO.FolderExists("C:\Documents\Thesis") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FolderExists(r"C:\Documents\Thesis")
          # ...
    Retourneert de BaseName (gelijk aan de laatste component) van een map- of bestandsnaam, zonder de extensie.
De methode controleert niet of het opgegeven bestand of de opgegeven map bestaat.
svc.GetBaseName(filename: str): str
filename: Een tekenreeks die de bestandsnaam en het pad vertegenwoordigt.
In de onderstaande voorbeelden komt de eerste GetBaseName-methodeaanroep overeen met een map, dus de functie retourneert de laatste component van het pad. De tweede aanroep krijgt een bestandsnaam als invoer, dus de naam van het bestand is geretourneerd zonder de extensie.
      MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
      MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"
    
      bas = CreateScriptService("Basic")
      bas.MsgBox(fs.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fs.GetBaseName("/home/user/Documents/my_file.ods")) # "my_file"
    Retourneert het extensiegedeelte van een bestands- of mapnaam zonder de punt "." karakter.
De methode controleert niet op het bestaan van het opgegeven bestand of de opgegeven map.
Als deze methode wordt toegepast op een mapnaam of op een bestand zonder extensie, wordt een lege tekenreeks geretourneerd.
svc.GetExtension(filename: str): str
filename: Een tekenreeks die de bestandsnaam en het pad vertegenwoordigt.
      ' Basic
      ext = FSO.GetExtension("C:\Windows\Notepad.exe")  ' "exe"
    
      # Python
      ext = fs.GetExtension(r"C:\Windows\Notepad.exe")  # "exe"
    De ingebouwde FileLen Basic functie retourneert het aantal bytes in een bestand als een Long waarde, d.w.z. tot 2GB.
De GetFileLen-methode kan bestanden met veel grotere formaten verwerken door een Currency-waarde te retourneren.
svc.GetFileLen(filename: str): num
filename: Een tekenreeks die een bestaand bestand vertegenwoordigt.
      Dim fLen As Currency
      FSO.FileNaming = "SYS"
      fLen = FSO.GetFileLen("C:\pagefile.sys")
    
      fs.FileNaming = "SYS"
      fLen = fs.GetFileLen(r"C:\pagefile.sys")
    Retourneert de laatste wijzigingsdatum van een bepaald bestand.
svc.GetFileModified(filename: str): datetime
filename: Een tekenreeks die een bestaand bestand vertegenwoordigt.
      Dim aDate As Date
      FSO.FileNaming = "SYS"
      aDate = FSO.GetFileModified("C:\Documents\my_file.odt")
    
      fs.FileNaming = "SYS"
      aDate = FSO.GetFileModified(r"C:\Documents\my_file.odt")
    Retourneert het laatste onderdeel van een bestands- of mapnaam in de oorspronkelijke besturingssysteemindeling.
De methode controleert niet of het opgegeven bestand of de opgegeven map bestaat.
svc.GetName(filename: str): str
filename: Een tekenreeks die de bestandsnaam en het pad vertegenwoordigt.
      ' Basic
      a = FSO.GetName("C:\Windows\Notepad.exe")  ' Notepad.exe
    
      # Python
      a = fs.GetName(r"C:\Windows\Notepad.exe")  # Notepad.exe
    Retourneert een tekenreeks met de naam van de bovenliggende map van een opgegeven bestands- of mapnaam.
De methode controleert niet of het opgegeven bestand of de opgegeven map bestaat.
svc.GetParentFolderName(filename: str): str
filename: Een tekenreeks met de bestands- of mapnaam die moet worden geanalyseerd.
      ' Basic
      a = FSO.GetParentFolderName("C:\Windows\Notepad.exe")  ' C:\Windows\
    
      # Python
      a = fs.GetParentFolderName(r"C:\Windows\Notepad.exe")  # C:\Windows\
    Retourneert een willekeurig gegenereerde tijdelijke bestandsnaam die handig is voor het uitvoeren van bewerkingen waarvoor een tijdelijk bestand nodig is.
Standaard heeft de geretourneerde bestandsnaam geen extensie. Gebruik de parameter extension om de extensie op te geven van de bestandsnaam die moet worden gegenereerd.
Het mapgedeelte van de geretourneerde tekenreeks is de tijdelijke map van het systeem.
De methode maakt het tijdelijke bestand niet aan.
svc.GetTempName(extension: str): str
extension: De extensie van de tijdelijke bestandsnaam (standaard = "").
      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName(Extension := "txt")
      ' "/tmp/SF_574068.txt"
    
      fs.FileNaming = "SYS"
      fName = FSO.GetTempName(extension = "txt")
      # "/tmp/SF_574068.txt"
    Hash-functies worden gebruikt door sommige cryptografische algoritmen, in digitale handtekeningen, berichtauthenticatiecodes, fraudedetectie, vingerafdrukken, checksums (berichtintegriteitscontrole), hashtabellen, wachtwoordopslag en nog veel meer.
De methode HashFile retourneert het resultaat van een hash-functie, toegepast op een bepaald bestand en met behulp van een gespecificeerd algoritme. De geretourneerde waarde is een reeks kleine hexadecimale cijfers.
De ondersteunde hash-algoritmen zijn: MD5, SHA1, SHA224, SHA256, SHA384 en SHA512.
svc.HashFile(filename: str, algorithm: str): str
filename: Een tekenreeks die een bestaand bestand vertegenwoordigt.
algorithm: Een van de ondersteunde algoritmen.
      ' Basic
      sHash = FSO.HashFile("C:\pagefile.sys", "MD5")
    
      # Python
      sHash = FSO.HashFile(r"C:\pagefile.sys", "MD5")
    Verplaatst een of meer bestanden van de ene naar de andere locatie. Retourneert True als ten minste één bestand is verplaatst of False als er een fout is opgetreden.
Er zal ook een fout optreden als de parameter source jokertekens gebruikt en met geen enkel bestand overeenkomt.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.MoveFile(source: str, destination: str): bool
source: Het kan een FileName of NamePattern zijn om een of meer bestanden aan te duiden die moeten worden verplaatst.
destination: Als source een FileName is, dan geeft deze parameter het nieuwe pad en de nieuwe bestandsnaam van het verplaatste bestand aan.
Als de verplaatsingsbewerking meerdere bestanden omvat, moet destination een mapnaam zijn. Als het niet bestaat, wordt het gemaakt.
Als source en destination dezelfde bovenliggende map hebben, zal de methode de naam van de source wijzigen.
Jokertekens zijn niet toegestaan in destination.
In de volgende voorbeelden worden alleen bestanden verplaatst, submappen niet.
      ' Basic
      FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2")
    
      # Python
      fs.MoveFile(r"C:\Temp1\*.*", r"C:\Temp2")
    Verplaatst een of meer mappen van de ene naar de andere locatie. Retourneert True als ten minste één map is verplaatst of False als er een fout is opgetreden.
Er treedt ook een fout op als de parameter source jokertekens gebruikt en met geen enkele map overeenkomt.
De methode stopt onmiddellijk nadat er een fout is opgetreden. De methode wordt niet teruggedraaid en maakt ook geen wijzigingen ongedaan die zijn aangebracht voordat de fout optrad.
svc.MoveFolder(source: str, destination: str): bool
source: Het kan een FolderName of NamePattern zijn om een of meer mappen aan te duiden die moeten worden verplaatst.
destination: Als de verplaatsingsbewerking een enkele map betreft, dan is destination de naam en het pad van de verplaatste map en mag deze niet bestaan.
Als meerdere mappen worden verplaatst, geeft destination aan waar de mappen in source naartoe worden verplaatst. Als destination niet bestaat, wordt deze aangemaakt.
Jokertekens zijn niet toegestaan in destination.
      ' Basic
      FSO.MoveFolder("C:\Temp1\*", "C:\Temp2")
    
      # Python
      fs.MoveFolder(r"C:\Temp1\*", r"C:\Temp2")
    Retourneert een tekenreeks met de genormaliseerde padnaam door overbodige scheidingstekens en verwijzingen naar een hoger niveau samen te vouwen.
Bijvoorbeeld de padnamen A//B, A/B/, A/./B en A/foo/ ../B zijn allemaal genormaliseerd naar A/B.
In Windows worden voorwaartse slashes "/" omgezet in achterwaartse slashes "\".
De huidige waarde van de eigenschap SF_FileSystem.FileNaming wordt gebruikt om de notatie van het argument filename te bepalen, evenals het formaat van de geretourneerde tekenreeks.
svc.Normalize(filename: str): str
bestandsnaam: een tekenreeks die een geldige padnaam vertegenwoordigt. Het bestand of de map die door dit argument wordt vertegenwoordigd, bestaat mogelijk niet.
    FSO.FileNaming = "URL"
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home/user/Documents/")
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home//user//Documents/")
    ' file:///home/user
    normPath = FSO.Normalize("file:///home//user//Documents/../")
  
    fs.FileNaming = "URL"
    normPath = fs.Normalize("file:///home/user/Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/../")
  Opent een bestand en retourneert een TextStream-object dat kan worden gebruikt om te lezen van, te schrijven naar of toe te voegen aan het bestand.
Merk op dat de methode niet controleert of het gegeven bestand echt een tekstbestand is.
De methode retourneert een Null object (in Basic) of None (in Python) als er een fout is opgetreden.
svc.OpenTextFile(filename: str, iomode: int = 1, create: bool = False, encoding: str = 'UTF-8'): svc
filename: Identificeert het te openen bestand.
iomode:Geeft de invoer-/uitvoermodus aan. Het kan een van de drie constanten zijn: svc.ForReading (standaard), svc.ForWriting of svc.ForAppending.
create: Booleaanse waarde die aangeeft of een nieuw bestand kan worden gemaakt als de opgegeven filename niet bestaat:
Indien True een nieuw bestand en de bovenliggende mappen worden gemaakt als ze niet bestaan;
Indien False dan worden er geen nieuwe bestanden aangemaakt (standaard).
encoding: De tekenset die moet worden gebruikt. De standaardcodering 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
    
      fs.FileNaming = "SYS"
      myFile = fs.OpenTextFile(r"C:\Temp\ThisFile.txt", fs.ForReading)
      if myFile is not None:
          # ...
    Opent een dialoogvenster om bestanden te openen of op te slaan.
Als de modus SAVE is ingesteld en het gekozen bestand bestaat, wordt een waarschuwingsbericht weergegeven.
svc.PickFile(defaultfile: str ='', mode: str = 'OPEN', filter: str = ''): str
defaultfile: Dit argument is een tekenreeks die bestaat uit een map en een bestandsnaam:
Het mapgedeelte geeft de map aan die wordt weergegeven wanneer het dialoogvenster wordt geopend (standaard = de laatst geselecteerde map).
Het bestandsgedeelte geeft het standaardbestand aan dat moet worden geopend of opgeslagen.
mode: Een tekenreekswaarde die "OPEN" (voor invoerbestanden) of "SAVE" (voor uitvoerbestanden) kan zijn. De standaardwaarde is "OPEN".
filter: De extensie van de bestanden die worden weergegeven wanneer het dialoogvenster wordt geopend (standaard = geen filter).
De onderstaande voorbeelden openen een bestandskiezer met het "txt"-filter toegepast.
      ' Basic
      aFile = FSO.PickFile("C:\Documents", "OPEN", "txt")
    
      # Python
      aFile = fs.PickFile(r"C:\Documents", "OPEN", "txt")
    Opent een dialoogvenster om een map te selecteren.
svc.PickFolder(defaultfolder: str = '', freetext: str = ''): str
defaultfolder: Een tekenreeks met de mapnaam die wordt weergegeven wanneer het dialoogvenster wordt geopend (standaard = de laatst geselecteerde map).
freetext: Tekst die in het dialoogvenster moet worden weergegeven (standaard = "").
      ' Basic
      aFolder = FSO.PickFolder("C:\Documenten", "Kies een map of druk op Annuleren")
    
      # Python
      aFolder = fs.PickFolder(r"C:\Documenten", "Kies een map of druk op Annuleren")
    Retourneert een op nul gebaseerde matrix van tekenreeksen die overeenkomen met de mappen die zijn opgeslagen in een gegeven foldername.
De lijst kan worden gefilterd met jokertekens.
svc.SubFolders(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername: Een tekenreeks die een map vertegenwoordigt. De map moet bestaan. foldername mag geen bestand aanduiden.
filter: Een tekenreeks met jokertekens ("?" en "*") die worden toegepast op de resulterende lijst met mappen (standaard = "").
includesubfolders: Stel dit argument in op True om de inhoud van submappen op te nemen (standaard = False).
      Dim folderList As Variant, folder As String
      FSO.FileNaming = "SYS"
      folderList = FSO.SubFolders("/home/user/")
      For Each folder In folderList
          ' ...
      Next folder
    
      fs.FileNaming = "SYS"
      folderList = fs.SubFolders("/home/user/")
      for folder in folderList:
          # ...