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

Schreibgesch├╝tzt

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 LibreOffice-Sitzung oder bis sie erneut gesetzt wird.

ConfigFolder

Ja

String

Gibt den Konfigurationsordner von LibreOffice 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 LibreOffice 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 LibreOffice-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: Der zu verwendende Zeichensatz. Die Standardcodierung ist "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

Um mehr ├╝ber die Namen von Zeichens├Ątzen zu erfahren, besuchen Sie die Seite IANA's Character Set. Beachten Sie, dass LibreOffice nicht alle vorhandenen Zeichens├Ątze implementiert hat.


DeleteFile

L├Âscht eine oder mehrere Dateien. Gibt True zur├╝ck, wenn mindestens eine Datei gel├Âscht wurde, oder False, wenn ein Fehler aufgetreten ist.

Ein Fehler tritt auch auf, wenn der Parameter filename Platzhalter verwendet und mit keiner Datei ├╝bereinstimmt.

Die zu l├Âschenden Dateien d├╝rfen nicht schreibgesch├╝tzt sein.

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.DeleteFile(filename: str): bool

Parameter:

filename: Kann ein FileName oder ein NamePattern sein, das eine oder mehrere zu l├Âschende Dateien angibt.

Beispiel:

In den folgenden Beispielen werden nur Dateien gel├Âscht, Unterordner werden nicht gel├Âscht.


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

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

DeleteFolder

L├Âscht einen oder mehrere Ordner. Gibt True zur├╝ck, wenn mindestens ein Ordner gel├Âscht wurde, oder False, wenn ein Fehler aufgetreten ist.

Ein Fehler tritt auch auf, wenn der Parameter foldername Platzhalter verwendet und mit keinem Ordner ├╝bereinstimmt.

Die zu l├Âschenden Ordner d├╝rfen nicht schreibgesch├╝tzt sein.

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.DeleteFolder(foldername: str): bool

Parameter:

foldername: Kann ein FolderName oder ein NamePattern sein, das einen oder mehrere zu l├Âschende Ordner angibt.

Beispiel:

In den folgenden Beispielen werden nur Ordner und deren Inhalt gel├Âscht. Dateien im ├╝bergeordneten Ordner "C:\Temp" werden nicht gel├Âscht.


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

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

ExtensionFolder

Gibt eine Zeichenfolge zur├╝ck, die den Ordner enth├Ąlt, in dem das angegebene Extension-Paket installiert ist.

Der aktuelle Wert der Eigenschaft SF_FileSystem.FileNaming wird verwendet, um die Notation der zur├╝ckgegebenen Zeichenfolge zu bestimmen.

tip

Verwenden Sie die Eigenschaft Extensions aus dem Dienst Platform, um eine Zeichenfolgenmatrix mit den IDs aller installierten Extensions zu erhalten.


Syntax:

svc.ExtensionFolder(extension: str): str

Parameter:

extension: Eine Zeichenfolge mit der ID der Extension. Wenn die Extension nicht installiert ist, wird eine Ausnahme ausgel├Âst.

Beispiel:

Die folgenden Beispiele in Basic und Python geben den Ordner zur├╝ck, in dem die APSO-Extension installiert ist.


      ' 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

Gibt True zur├╝ck, wenn ein gegebener Dateiname g├╝ltig ist und existiert, andernfalls gibt die Methode False zur├╝ck.

Wenn der Parameter filename tats├Ąchlich ein vorhandener Ordnername ist, gibt die Methode False zur├╝ck.

Syntax:

svc.FileExists(filename: str): bool

Parameter:

filename: Eine Zeichenfolge, welche die zu testende Datei darstellt.

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

Gibt eine nullbasierte Matrix der Dateien zur├╝ck, die in einem bestimmten Ordner gespeichert sind. Jeder Eintrag in der Matrix ist eine Zeichenfolge, die den vollst├Ąndigen Pfad und Dateinamen enth├Ąlt.

Wenn das Argument foldername einen Ordner angibt, der nicht existiert, wird eine Ausnahme ausgel├Âst.

Die resultierende Liste kann mit Platzhaltern gefiltert werden.

Syntax:

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

Parameter:

foldername: Eine Zeichenfolge, die einen Ordner darstellt. Der Ordner muss vorhanden sein. Dieses Argument darf keine Datei bezeichnen.

filter: Eine Zeichenfolge mit Platzhaltern ("?" und "*"), die auf die resultierende Dateiliste angewendet wird (Standard = "").

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

Gibt True zur├╝ck, wenn der angegebene FolderName g├╝ltig und vorhanden ist, ansonsten gibt die Methode False zur├╝ck.

Wenn der Parameter foldername tats├Ąchlich ein vorhandener Dateiname ist, gibt die Methode False zur├╝ck.

Syntax:

svc.FolderExists(foldername: str): bool

Parameter:

foldername: Eine Zeichenfolge, die den zu testenden Ordner darstellt.

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

Gibt den BaseName (gleich der letzten Komponente) eines Ordner- oder Dateinamens ohne seine Erweiterung zur├╝ck.

Die Methode ├╝berpr├╝ft nicht, ob die angegebene Datei oder der angegebene Ordner vorhanden ist.

Syntax:

svc.GetBaseName(filename: str): str

Parameter:

filename: Eine Zeichenfolge, die den Dateinamen und seinen Pfad darstellt.

Beispiel:

In den folgenden Beispielen entspricht der erste Methodenaufruf von GetBaseName einem Ordner, sodass die Funktion die letzte Komponente des Pfads zur├╝ckgibt. Der zweite Aufruf erh├Ąlt einen Dateinamen als Eingabe, sodass der Name der Datei ohne Erweiterung zur├╝ckgegeben wird.

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

Gibt die Erweiterung eines Datei- oder Ordnernamens ohne den Punkt "." wieder.

Die Methode pr├╝ft nicht, ob die angegebene Datei oder der angegebene Ordner vorhanden sind.

Wenn diese Methode auf einen Ordnernamen oder eine Datei ohne Erweiterung angewendet wird, wird eine leere Zeichenfolge zur├╝ckgegeben.

Syntax:

svc.GetExtension(filename: str): str

Parameter:

filename: Eine Zeichenfolge, die den Dateinamen und seinen Pfad darstellt.

Beispiel:


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

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

GetFileLen

Die eingebaute Basic-Funktion FileLen gibt die Anzahl der in einer Datei enthaltenen Bytes als Wert vom Typ Long zur├╝ck, also bis zu 2 GB.

Die Methode GetFileLen kann Dateien mit viel gr├Â├čeren Gr├Â├čen verarbeiten, indem sie einen Wert vom Typ Currency zur├╝ckgibt.

Syntax:

svc.GetFileLen(filename: str): num

Parameter:

filename: Eine Zeichenfolge, die eine vorhandene Datei darstellt.

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

Gibt das Datum der letzten Änderung einer bestimmten Datei zurück.

Syntax:

svc.GetFileModified(filename: str): datetime

Parameter:

filename: Eine Zeichenfolge, die eine vorhandene Datei darstellt.

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

Gibt die letzte Komponente eines Datei- oder Ordnernamens im nativen Betriebssystemformat zur├╝ck.

Die Methode ├╝berpr├╝ft nicht, ob die angegebene Datei oder der angegebene Ordner vorhanden ist.

Syntax:

svc.GetName(filename: str): str

Parameter:

filename: Eine Zeichenfolge, die den Dateinamen und seinen Pfad darstellt.

Beispiel:


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

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

GetParentFolderName

Gibt eine Zeichenfolge zur├╝ck, die den Namen des ├╝bergeordneten Ordners einer angegebenen Datei oder eines Ordnernamens enth├Ąlt.

Die Methode ├╝berpr├╝ft nicht, ob die angegebene Datei oder der angegebene Ordner vorhanden ist.

Syntax:

svc.GetParentFolderName(filename: str): str

Parameter:

filename: Eine Zeichenfolge mit dem Datei- oder Ordnernamen, der analysiert werden soll.

Beispiel:


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

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

GetTempName

Gibt einen zuf├Ąllig generierten tempor├Ąren Dateinamen zur├╝ck, der zum Ausf├╝hren von Vorg├Ąngen n├╝tzlich ist, die eine tempor├Ąre Datei erfordern.

Der zur├╝ckgegebene Dateiname hat keine Endung. Der Ordnerteil der zur├╝ckgegebenen Zeichenfolge ist der tempor├Ąre Ordner des Systems.

Die Methode erstellt keine tempor├Ąre Datei.

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-Funktionen werden von einigen kryptografischen Algorithmen in digitalen Signaturen, Nachrichtenauthentifizierungscodes, Betrugserkennung, Fingerabdr├╝cken, Pr├╝fsummen (Nachrichtenintegrit├Ątspr├╝fung), Hash-Tabellen, Kennwortspeicherung und vielem mehr verwendet.

Die Methode HashFile gibt das Ergebnis einer Hash-Funktion zur├╝ck, die auf eine bestimmte Datei angewendet wird und einen bestimmten Algorithmus verwendet. Der zur├╝ckgegebene Wert ist eine Zeichenfolge aus Hexadezimalziffern in Kleinbuchstaben.

Die unterst├╝tzten Hash-Algorithmen sind: MD5, SHA1, SHA224, SHA256, SHA384 und SHA512.

Syntax:

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

Parameter:

Dateiname: Eine Zeichenfolge, die eine vorhandene Datei darstellt.

Algorithm: Einer der unterst├╝tzten Algorithmen.

Beispiel:


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

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

MoveFile

Verschiebt eine oder mehrere Dateien von einem Speicherort an einen anderen. Gibt True zur├╝ck, wenn mindestens eine Datei verschoben 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.MoveFile(source: str, destination: str): bool

Parameter:

source: Kann ein FileName oder NamePattern sein, um eine oder mehrere zu verschiebende Dateien anzugeben.

destination: Wenn source ein FileName ist, dann gibt dieser Parameter den neuen Pfad und Dateinamen der verschobenen Datei an.

Wenn der Verschiebevorgang mehrere Dateien umfasst, muss destination ein Ordnername sein. Wenn es nicht existiert, wird es erstellt.

Wenn source und destination denselben ├╝bergeordneten Ordner haben, benennt die Methode die source um.

Platzhalter sind in destination nicht zul├Ąssig.

Beispiel:

In den folgenden Beispielen werden nur Dateien verschoben, Unterordner nicht.


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

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

MoveFolder

Verschiebt einen oder mehrere Ordner von einem Ort an einen anderen. Gibt True zur├╝ck, wenn mindestens ein Ordner verschoben 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.MoveFolder(source: str, destination: str): bool

Parameter:

source: Kann ein FolderName oder ein NamePattern sein, um einen oder mehrere zu verschiebende Ordner anzugeben.

destination: Wenn der Verschiebevorgang einen einzelnen Ordner betrifft, dann ist destination der Name und Pfad des verschobenen Ordners und darf nicht existieren.

Wenn mehrere Ordner verschoben werden, gibt destination an, wohin die Ordner in source verschoben werden. Wenn destination nicht existiert, wird es erstellt.

Platzhalter sind in destination nicht zul├Ąssig.

Beispiel:


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

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

OpenTextFile

├ľffnet eine Datei und gibt ein Objekt TextStream zur├╝ck, das zum Lesen, Schreiben oder Anh├Ąngen an die Datei verwendet werden kann.

Beachten Sie, dass die Methode nicht ├╝berpr├╝ft, ob die angegebene Datei wirklich eine Textdatei ist.

Die Methode gibt ein Objekt vom Typ Null (in Basic) oder None (in Python) zur├╝ck, wenn ein Fehler aufgetreten ist.

Syntax:

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

Parameter:

filename: Identifiziert die zu ├Âffnende Datei.

iomode: Gibt den Ein-/Ausgabemodus an. Es kann eine von drei Konstanten sein: svc.ForReading (Standard), svc.ForWriting oder svc.ForAppending.

create: Boolescher Wert, der angibt, ob eine neue Datei erstellt werden kann, wenn der angegebene filename nicht existiert:

encoding: Der zu verwendende Zeichensatz. Die Standardcodierung ist "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

├ľffnet einen Dialog zum ├ľffnen oder Speichern von Dateien.

Wenn der Modus SAVE eingestellt ist und die ausgew├Ąhlte Datei existiert, wird eine Warnmeldung angezeigt.

Syntax:

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

Parameter:

defaultfile: Dieses Argument ist eine Zeichenfolge, die aus einem Ordner- und Dateinamen besteht:

mode: Eine Zeichenfolge, die entweder "OPEN" (f├╝r Eingabedateien) oder "SAVE" (f├╝r Ausgabedateien) sein kann. Der Standardwert ist "OPEN".

filter: Die Erweiterung der Dateien, die angezeigt werden, wenn der Dialog ge├Âffnet wird (Standard = kein Filter).

Beispiel:

Die folgenden Beispiele ├Âffnen eine Dateiauswahl mit angewendetem Filter "txt".


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

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

PickFolder

├ľffnet einen Dialog zur Auswahl eines Ordners.

Syntax:

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

Parameter:

defaultfolder: Eine Zeichenfolge, welche den Ordnernamen enth├Ąlt, der angezeigt wird, wenn der Dialog ge├Âffnet wird (Standard = der zuletzt ausgew├Ąhlte Ordner).

freetext: Text, der im Dialog angezeigt werden soll (Standard = "").

Beispiel:


      ' Basic
      aFolder = FSO.PickFolder("C:\Dokumente", "W├Ąhlen Sie einen Ordner oder klicken Sie auf Abbrechen")
    

      # Python
      aFolder = fs.PickFolder(r"C:\Documents", "W├Ąhlen Sie einen Ordner oder klicken Sie auf Abbrechen")
    

SubFolders

Gibt eine nullbasierte Matrix von Zeichenfolgen zur├╝ck, die den Ordnern entsprechen, die in einem bestimmten Ordnernamen gespeichert sind.

Die Liste kann mit Platzhaltern gefiltert werden.

Syntax:

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

Parameter:

foldername: Eine Zeichenfolge, die einen Ordner darstellt. Der Ordner muss vorhanden sein. foldername darf keine Datei bezeichnen.

filter: Eine Zeichenfolge mit Platzhaltern ("?" und "*"), die auf die resultierende Ordnerliste angewendet wird (Standard = "").

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.


Bitte unterst├╝tzen Sie uns!