ScriptForge.FileSystem zerbitzua

FileSystem zerbitzuak fitxategiak eta karpetak maneiatzeko errutinak ditu. Ondoren, zerbitzu honek eskaintzen dituen zenbait eginbide erakusten dira:

note

FileSystem zerbitzuko metodoak XSimpleFileAccess UNO interfazean daude oinarrituta batez ere.


Definizioak

Beheko taulak FileSystem zerbitzuan erabilitako metodo gehienen parametro nagusiak zerrendatzen ditu.

Parametroa

Deskribapena

FileName

Fitxategiaren izen osoa, bide-izena barne, amaieran bide-izenen bereizlerik gabe.

FolderName

Bide-izena duen karpetaren izen osoa. Bide-izenen amaierako bereizlea eduki dezake edo ez.

Name

Karpeta-izenaren edo fitxategi-izenaren azken osagaia, luzapena barne. Parametro hau sistema eragilearen jatorrizko formatua erabilita adierazten da beti.

BaseName

Karpeta-izenaren edo fitxategi-izenaren azken osagaia, luzapena kenduta.

NamePattern

Goiko izenetako edozein, azken osagaian komodinak sartuta. Onartutako komodinak honakoak dira:

  • "?" ikurrak edozein karaktere bakun adierazten du

  • "*" ikurrak zero, bat edo zenbait karaktere adierazten ditu


tip

FileSystem zerbitzua erabilita, fitxategi anitzen gaineko eragiketak aldi berean gauzatzea ahalbidetzen du. Izen-ereduak erabilita, erabiltzaile-scriptek fitxategi anitz kopiatu, lekuz aldatu edo ezabatu ditzakete. Basic-en metodo integratuek, berriz, fitxategi bakarrak soilik maneiatu ditzakete.


Fitxategi-izenen notazioa

Fitxategien eta karpeten izenak, bai argumentuetan bai itzulitako balioetan, adierazteko notazioa, FileSystem zerbitzuaren FileNaming propietateak definitutakoa da.

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

tip

URL notazioaren adibide bat file:///C:/Dokumentuak/nire_fitxategia.odt izan daiteke. Posible bada, erabili URL notazioa, aukera eramangarriagoa baita.


warning

Karpeten eta fitxategi-izenen bide-izena adierazteko, ez da onartzen "~" (tileta) karakterea lasterbide modura, nahiz eta Linuxen oinarritutako sistemetan erabilia izan. "~/Dokumentuak/nire_fitxategia.odt" modukoak erabili ordez, erabili bide-izen osoa: "/home/user/Dokumentuak/nire_fitxategia.odt".


Zerbitzuari deitzea

Hurrengo kode-zatiak FileSystem zerbitzuari deitzen dio. BuildPath metodoa adibide modura erabili da.

Basic lengoaian

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

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

Accessing the Virtual File System of a Document

LibreOffice document files are compressed ZIP files that contain the files and folders that represent the actual document contents. While the document is open, it is possible to access this virtual file system, explore its structure, as well as read and create files and folders.

The following example shows how to create a text file named myFile.txt and store it inside the document's virtual file system.

Basic lengoaian

    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)
    ' Gets the URL path notation to the root of the virtual file system
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    ' Creates the folder "myDir" if it does not exist
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Creates the file and write some text into it
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
Python lengoaian

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

In general, all methods of the FileSystem service can be used to manipulate files in the document's virtual file system. However, the following restrictions apply:

note

The path to the virtual file system is not a physical address on the computer's hard drive. It can only be accessed from within a LibreOffice script and it only exists while the document file is open.


Propietateak

Izena

Irakurtzeko soilik

Mota

Deskribapena

FileNaming

Ez

String

Fitxategien eta karpeten uneko notazioa, "ANY", "URL" edo "SYS", ezartzen edo itzultzen du:

  • "ANY": (lehenetsia) FileSystem zerbitzuaren metodoek URLen zein uneko sistema eragilearen notazioa onartzen du sarrerako argumentuetan, baina beti URL kateak itzultzen ditu.

  • "URL": FileSystem zerbitzuaren metodoek URL notazioa espero dute sarrerako argumentuetan, eta URL kateak itzultzen dituzte.

  • "SYS": FileSystem zerbitzuaren metodoek uneko sistema eragilearen notazioa espero dute bai sarrerako argumentuetan bai itzulitako kateetan.

Ezarri ondoren, FileNaming propietatea ez da aldatuko LibreOffice saioa amaitu arte edo berriro ezartzen den arte.

ConfigFolder

Bai

String

LibreOffice aplikazioaren konfigurazio-karpeta itzultzen du.

ExtensionsFolder

Bai

String

Hedapenak instalatuta dauden karpeta itzultzen du.

HomeFolder

Bai

String

Erabiltzailearen karpeta nagusia itzultzen du.

InstallFolder

Bai

String

LibreOffice aplikazioaren instalazio-karpeta itzultzen du.

TemplatesFolder

Bai

String

Sistemaren txantiloi-fitxategiak dituen karpeta itzultzen du.

TemporaryFolder

Bai

String

LibreOffice bide-izenen ezarpenetan aldi baterako fitxategietarako definitu den karpeta itzultzen du.

UserTemplatesFolder

Bai

String

Erabiltzaileak definitutako txantiloi-fitxategiak dituen karpeta itzultzen du.


FileSystem zerbitzuaren metodoen zerrenda

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

Karpeta baten bide-izena eta fitxategi baten izena elkartzen ditu eta fitxategi-izen osoa itzultzen du baliozko bereizle batekin. Bide-izenaren bereizlea beharrezkoa bada soilik gehituko da.

Sintaxia:

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

Parametroak:

foldername: name izenarekin konbinatuko den bide-izena. Zehaztutako bide-izenak ez du zertan lehendik dagoen karpeta bat izan behar.

name: foldername bide-izenari erantsiko zaion fitxategiaren izena. Parametro honek uneko sistema eragilearen notazioa darabil.

Adibidea:

Basic lengoaian

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

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

CompareFiles

Bi fitxategi konparatzen ditu eta True itzultzen du berdinak badirudite.

comparecontents argumentuaren balioa zein den, bi fitxategien arteko konparazioa fitxategi-atributuetan soilik (adibidez, azken aldatze-data) oinarrituko da edo fitxategi-edukietan oinarrituko da.

Sintaxia:

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

Parametroak:

filename1, filename2: Konparatuko diren fitxategiak.

comparecontents: True bada, fitxategiaren edukiak konparatuko dira (balio lehenetsia = False).

Adibidea:

Basic lengoaian

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

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

CopyFile

Fitxategi bat edo batzuk kokaleku batetik beste batera kopiatzen ditu. True itzultzen du gutxienez fitxategi bat kopiatu bada, eta False errore bat gertatu bada.

Errore bat gertatuko da, baita ere, source parametroak komodinak erabiltzen baditu eta ez badator bat fitxategiren batekin.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu atzera botatzen edo desegiten errorea gertatu baino lehenagoko aldaketak.

Sintaxia:

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

Parametroak:

source: Kopiatuko d(ir)en fitxategi(a)k adierazten dituen FileName edo NamePattern bat izan daiteke.

destination: Izan daiteke bai FileName bat, source fitxategi bakarra non kopiatuko den adierazita, edo FolderName bat, non source fitxategi anitz kopiatuko diren.

overwrite: True (egia, lehenetsia) bada, fitxategiak gainidatzi egin daitezke. Metodoak huts egingo du destination irakurtzeko soilik bada, berdin dio overwrite parametroak zer dioen.

Adibidea:

Beheko adibidean, lehen lerroak fitxategi bat kopiatzen du eta bigarren lerroak fitxategi anitz kopiatzen ditu komodinak erabilita.

Basic lengoaian

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

      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

Kontuan izan azpikarpetak eta bertako edukiak ez direla kopiatzen source argumentuan komodinak erabiltzen direnean.


CopyFolder

Karpeta bat edo gehiago kopiatzen du kokaleku batetik beste batera. True itzultzen du karpeta bat gutxienez kopiatu bada, eta False errore bat gertatu bada.

Errorea gertatuko da source parametroak komodinak erabiltzen baditu eta ez badu bat egiten karpetaren batekin.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu errorea gertatu baino lehen izandako aldaketak desegingo.

Sintaxia:

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

Parametroak:

source: Parametro hau kopiatuko diren karpetak adierazten dituen FolderName bat edo NamePattern bat izan daiteke.

destination: source parametroan zehaztutako karpeta(k) zein FolderName karpetan kopiatuko d(ir)en zehazten du.

overwrite: True (egia, lehenetsia) bada, fitxategiak gainidatzi egin daitezke. Metodoak huts egingo du destination irakurtzeko soilik bada, berdin dio overwrite parametroak zer dioen.

Adibidea:

Beheko adibidean, fitxategi, karpeta eta azpikarpeta guztiak kopiatuko dira.


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

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

CreateFolder

Zehaztutako FolderName sortzen du. True itzultzen du karpeta ongi sortu bada.

Zehaztutako karpetak lehendik ez dagoen karpeta guraso bat badu, sortu egingo da.

Sintaxia:

svc.CreateFolder(foldername: str): bool

Parametroak:

foldername: Sortuko den karpeta ordezkatzen duen kate bat. Karpeta lehendik badago, salbuespen bat sortuko da.

Adibidea:


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

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

CreateTextFile

Zehaztutako fitxategia sortzen du eta fitxategian idazteko erabili daitekeen TextStream zerbitzu-instantzia bat itzultzen du.

Metodoak Null objektu bat itzuliko du errore bat gertatzen bada.

Sintaxia:

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

Parametroak:

filename: Sortuko den fitxategiaren izena.

overwrite: FileName gainidatzi daitekeen edo ez zehazten duen balio boolearra (balio lehenetsia = True).

encoding: Erabiliko den karaktere-jokoa. Kodeketa lehenetsia "UTF-8" da.

Adibidea:

Basic lengoaian

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

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

Karaktere jokoen izenei buruz gehiago jakiteko, begiratu IANAren karaktere jokoen orria. Kontuan izan LibreOffice aplikazioak ez dituela karaktere joko guztiak inplementatu.


DeleteFile

Fitxategi bat edo batzuk ezabatzen ditu. True itzultzen du gutxienez fitxategi bat ezabatu bada, edo False errore bat gertatu bada.

Errore bat gertatuko da filename parametroak komodinak erabiltzen baditu eta ez badu bat egiten fitxategiren batekin.

Ezabatuko diren fitxategiek ez dute irakurtzeko soilik izan behar.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu errorea gertatu baino lehen izandako aldaketak desegingo.

Sintaxia:

svc.DeleteFile(filename: str): bool

Parametroak:

filename: Ezabatuko d(ir)en fitxategia(k) adierazten dituen FileName bat edo NamePattern bat izan daiteke.

Adibidea:

Beheko adibidean, fitxategiak soilik ezabatuko dira, azpikarpetak ez dira ezabatuko.


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

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

DeleteFolder

Karpeta bat edo batzuk ezabatzen ditu. True itzultzen du gutxienez karpeta bat ezabatu bada, eta False errore bat gertatu bada.

Errore bat gertatuko da foldername parametroak komodinak erabiltzen baditu eta ez badu bat egiten karpetaren batekin.

Ezabatuko diren karpetek ez dute irakurtzeko soilik izan behar.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu errorea gertatu baino lehen izandako aldaketak desegingo.

Sintaxia:

svc.DeleteFolder(foldername: str): bool

Parametroak:

foldername: Ezabatuko d(ir)en karpeta(k) adierazten dituen FolderName bat edo NamePattern bat izan daiteke.

Adibidea:

Beheko adibideetan, karpetak eta haien edukiak soilik ezabatuko dira. "C:\Temp" karpeta gurasoko fitxategiak ez dira ezabatuko.


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

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

ExtensionFolder

Zehaztutako hedapen-pakete instalatu den karpetaren izena duen kate bat itzultzen du.

note

SF_FileSystem.FileNaming propietatearen uneko balioa erabiliko da itzuliko den katearen notazioa zehazteko.


tip

Erabili Platform zerbitzuko Extensions propietatea instalatutako hedapen guztien IDez osatutako kate-matrize bat eskuratzeko.


Sintaxia:

svc.ExtensionFolder(extension: str): str

Parametroak:

extension: Hedapenaren IDa duen kate-balio bat. Hedapena ez badago instalatuta, salbuespen bat sortuko da.

Adibidea:

Basic eta Python lengoaietan idatzitako beheko adibideetan, APSO hedapena zein karpetatan instalatu den itzultzen da.


      ' 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

True itzultzen du emandako fitxategi-izen bat baliozkoa bada eta existitzen bada, bestela metodoak False itzultzen du.

filename parametroa lehendik dagoen karpeta-izen bat bada, metodoak False itzuliko du.

Sintaxia:

svc.FileExists(filename: str): bool

Parametroak:

filename: Probatuko den fitxategia adierazten duen kate bat.

Adibidea:

Basic lengoaian

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

      fs.FileNaming = "SYS"
      if fs.FileExists(r"C:\Documents\my_file.odt"):
          # ...
    

Files

Zeron oinarritutako matrize bat itzultzen du emandako karpeta batean biltegiratutako fitxategi guztiekin. Matrizeko sarrera bakoitza bide-izen osoa eta fitxategi-izena duen kate bat da.

foldername argumentuak lehendik ez dagoen karpeta bat zehazten badu, salbuespen bat sortuko da.

Emaitza gisa sortutako zerrenda komodinen bidez iragazi daiteke.

Sintaxia:

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

Parametroak:

foldername: Karpeta bat ordezkatzen duen kate bat. Karpetak lehendik egon behar du. Argumentu honek ez du fitxategi bat adierazi behar.

filter: Emaitza gisa lortutako fitxategi-zerrendari aplikatuko zaizkion komodinak ("?" eta "*") dituen kate bat (lehenetsia = "").

includesubfolders: Set this argument to True to include the contents of subfolders (Default = False).

Adibidea:

Basic lengoaian

      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Returns all files matching the "*.txt" filter, including files in subfolders
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
Python lengoaian

      fs.FileNaming = "SYS"
      filesList = fs.Files("/home/user/", "*.txt", includesubfolders = True)
      for file in fileList:
          # ...
    

FolderExists

True itzultzen du zehaztutako FolderName baliozkoa bada eta existitzen bada, bestela metodoak False itzultzen du.

foldername parametroa lehendik dagoen fitxategi-izen bat bada, metodoak False itzuliko du.

Sintaxia:

svc.FolderExists(foldername: str): bool

Parametroak:

foldername: Probatuko den karpeta ordezkatzen duen kate bat.

Adibidea:

Basic lengoaian

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

      fs.FileNaming = "SYS"
      if fs.FolderExists(r"C:\Documents\Thesis")
          # ...
    

GetBaseName

Karpeta- edo fitxategi-izen baten BaseName parametroa (azken osagaiaren berdina) itzultzen du, luzapenik gabe.

Metodoak ez du egiaztatzen zehaztutako fitxategia edo karpeta badagoen.

Sintaxia:

svc.GetBaseName(filename: str): str

Parametroak:

filename: Fitxategi-izen bat eta bere bide-izena ordezkatzen dituen kate bat.

Adibidea:

Beheko adibideetan, GetBaseName metodo-deia karpeta batena da, eta beraz, funtzioak bide-izenaren azken osagaia itzuliko du. Bigarren deiak fitxategi-izen bat jasotzen du, beraz fitxategiaren izena luzapenik gabe itzuliko da.

Basic lengoaian

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

      bas = CreateScriptService("Basic")
      bas.MsgBox(fs.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fs.GetBaseName("/home/user/Documents/my_file.ods")) # "my_file"
    

GetExtension

Fitxategi edo karpeta baten izenaren luzapena itzultzen du puntuaren "." karaktererik gabe.

Metodoak ez du egiaztatzen zehaztutako fitxategia edo karpeta badagoen.

Metodo hau karpeta-izen bati edo luzapenik gabeko fitxategi bati aplikatzen bazaio, kate huts bat itzuliko da.

Sintaxia:

svc.GetExtension(filename: str): str

Parametroak:

filename: Fitxategi-izen bat eta bere bide-izena ordezkatzen dituen kate bat.

Adibidea:


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

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

GetFileLen

FileLen Basic funtzio integratuaren xedea fitxategi batek duen byte kopurua itzultzea da Long balio gisa, 2GB arte.

GetFileLen metodoak tamaina askoz handiagoko fitxategiak maneiatu ditzake, horretarako Currency balio bat itzultzen du.

Sintaxia:

svc.GetFileLen(filename: str): num

Parametroak:

filename: Lehendik dagoen fitxategi bat ordezkatzen duen kate bat.

Adibidea:

Basic lengoaian

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

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

GetFileModified

Emandako fitxategi bat azken aldian aldatu den data itzultzen du.

Sintaxia:

svc.GetFileModified(filename: str): datetime

Parametroak:

filename: Lehendik dagoen fitxategi bat ordezkatzen duen kate bat.

Adibidea:

Basic lengoaian

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

      fs.FileNaming = "SYS"
      aDate = FSO.GetFileModified(r"C:\Documents\my_file.odt")
    

GetName

Fitxategi edo karpeta-izen baten azken osagaia itzultzen du sistema eragilearen jatorrizko formatuan.

Metodo honek ez du egiaztatzen zehaztutako fitxategia edo karpeta badagoen ala ez.

Sintaxia:

svc.GetName(filename: str): str

Parametroak:

filename: Fitxategi-izen bat eta bere bide-izena ordezkatzen dituen kate bat.

Adibidea:


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

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

GetParentFolderName

Zehaztutako fitxategi edo karpeta-izen baten karpeta gurasoaren izena duen kate bat itzultzen du.

Metodo honek ez du egiaztatzen zehaztutako fitxategia edo karpeta badagoen ala ez.

Sintaxia:

svc.GetParentFolderName(filename: str): str

Parametroak:

filename: Analizatuko den fitxategi- edo karpeta-izena duen kate bat.

Adibidea:


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

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

GetTempName

Ausaz sortutako aldi baterako fitxategi-izen bat itzultzen du, aldi baterako fitxategi bat behar duten eragiketak gauzatu ahal izateko.

By default, the returned file name does not have an extension. Use the extension parameter to specify the extension of the file name to be generated.

The folder part of the returned string is the system's temporary folder.

Metodoak ez du aldi baterako fitxategia sortzen.

Sintaxia:

svc.GetTempName(extension: str): str

Parametroak:

extension: The extension of the temporary file name (Default = "").

Adibidea:

Basic lengoaian

      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName(Extension := "txt")
      ' "/tmp/SF_574068.txt"
    
Python lengoaian

      fs.FileNaming = "SYS"
      fName = FSO.GetTempName(extension = "txt")
      # "/tmp/SF_574068.txt"
    

HashFile

Hash funtzioak hainbat tokitan erabiltzen dira: zifratze-algoritmoetan, sinadura digitaletan, mezuak autentifikatzeko kodeetan, iruzurren detekzioan, hatz-marketan, kontroleko baturetan (mezuen osotasunaren egiaztatzeetan), hash tauletan, pasahitzen biltegietan eta beste hainbatetan.

HashFile metodoak hash funtzio baten emaitza itzultzen du, emandako fitxategi bati aplikatuta eta algoritmo jakin bat erabilita. Itzulitako balioa digitu hamaseitar minuskulez osatutako kate bat da.

Onartutako algoritmoak: MD5, SHA1, SHA224, SHA256, SHA384 eta SHA512.

Sintaxia:

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

Parametroak:

filename: Lehendik dagoen fitxategi bat ordezkatzen duen kate bat.

algorithm: Onartutako algoritmoetako bat.

Adibidea:


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

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

MoveFile

Fitxategi bat edo gehiago kokaleku batetik beste batera aldatzen du. True itzultzen du gutxienez fitxategi bat lekuz aldatu bada, edo False errore bat gertatu bada.

Errore bat gertatuko da, baita ere, source parametroak komodinak erabiltzen baditu eta ez badator bat fitxategiren batekin.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu errorea gertatu baino lehen izandako aldaketak desegingo.

Sintaxia:

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

Parametroak:

source: Lekuz aldatuko diren fitxategiak izendatzeko erabiliko den FileName bat edo NamePattern bat izan daiteke.

destination: source FileName bat bada, orduan parametro honek adierazten ditu lekuz aldatutako fitxategiaren bide-izen eta fitxategi-izen berriak.

Lekuz aldatzeko eragiketa fitxategi anitzekin egin bada, orduan destination karpeta-izen bat izango da. Halakorik ez badago, sortu egingo da.

source eta destination karpeta guraso berean badaude, metodoak source izenez aldatuko du.

Ez dira komodinak onartzen destination parametroan.

Adibidea:

Hurrengo adibideetan, fitxategiak soilik aldatuko dira lekuz, azpikarpetak ez.


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

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

MoveFolder

Karpeta bat edo batzuk kokaleku batetik beste batera aldatzen du. True itzultzen du karpeta bat gutxienez lekuz aldatu bada edo False errore bat gertatu bada.

Errorea gertatuko da source parametroak komodinak erabiltzen baditu eta ez badu bat egiten karpetaren batekin.

Metodoa berehala geldituko da errore bat aurkitu ondoren. Metodoak ez ditu errorea gertatu baino lehen izandako aldaketak desegingo.

Sintaxia:

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

Parametroak:

source: FolderName bat edo NamePattern bat izan daiteke, lekuz aldatuko den karpeta bat edo batzuk izendatzeko.

destination: Lekuz aldatzeko eragiketak karpeta bakarrean badu eragina, destination lekuz aldatutako karpetaren izena eta bide-izena dira, eta ez dute lehendik existitu behar.

Karpeta anitz lekuz aldatuko badira, orduan destination parametroak izendatzen du source iturburuko karpetak nora aldatuko diren. destination helbururik ez badago, sortu egingo da.

Ez dira komodinak onartzen destination parametroan.

Adibidea:


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

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

Normalize

Bide-izen normalizatua duen kate bat itzultzen du. Bereizle errepikatuak eta goragoko mailen erreferentziak ezabatzen ditu.

Adibidez, A//B, A/B/, A/./B eta A/foo/../B bide-izenak normalizatu ondoren, denek A/B ematen dute.

Windows sisteman, "/" barrak "\" alderantzizko barra bihurtzen dira.

note

SF_FileSystem.FileNaming propietatearen uneko balioa erabiliko da filename argumentuaren eta itzuliko den katearen formatuaren notazioa zehazteko.


Sintaxia:

svc.Normalize(filename: str): str

Parametroak:

filename: baliozko bide-izen bat ordezkatzen duen kate bat. Argumentu honek adierazten duen fitxategiak edo direktorioak ez du zertan existitu behar.

Adibidea:

Basic lengoaian

    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/../")
  
Python lengoaian

    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

Fitxategi bat irekitzen du eta TextStream objektu bat itzultzen du. Objektu hori fitxategian irakurtzeko, idazteko edo eransteko erabili daiteke.

Kontuan izan metodoak ez duela egiaztatzen emandako fitxategia benetan testu-fitxategia den ala ez.

Metodoak Null objektua (Basic lengoaian) edo None (Python lengoaian) itzuliko du errore bat gertatzen bada.

Sintaxia:

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

Parametroak:

filename: Irekiko den fitxategia identifikatzen du.

iomode: Sarrera/irteera modua adierazten du. Hiru konstanteetako bat izan daiteke: svc.ForReading (lehenetsia), svc.ForWriting edo svc.ForAppending.

create: Zehaztutako filename izena existitzen ez bada fitxategi berria sortu daitekeen ala ez adierazten duen balio boolearra.

encoding: Erabiliko den karaktere-jokoa. Kodeketa lehenetsia "UTF-8" da.

Adibidea:

Basic lengoaian

      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.OpenTextFile("C:\Temp\ThisFile.txt", FSO.ForReading)
      If Not IsNull(myFile) Then
          ' ...
      End If
    
Python lengoaian

      fs.FileNaming = "SYS"
      myFile = fs.OpenTextFile(r"C:\Temp\ThisFile.txt", fs.ForReading)
      if myFile is not None:
          # ...
    

PickFile

Fitxategiak irekitzeko edo gordetzeko elkarrizketa-koadro bat irekitzen du.

SAVE modua ezarrita badago eta aukeratutako fitxategia lehendik badago, abisu-mezu bat bistaratuko da.

Sintaxia:

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

Parametroak:

defaultfile: Argumentu hau karpeta- eta fitxategi-izen batekin osatutako kate bat da:

mode: Kate-balio bat, "OPEN" (sarrera-fitxategietarako) edo "SAVE" (irteera-fitxategietarako) izan daitekeena. Balio lehenetsia "OPEN" da.

filter: Elkarrizketa-koadroa irekitzen denean bistaratuko diren fitxategien luzapena (lehenetsia = iragazkirik ez).

Adibidea:

Beheko adibideetan, "txt" iragazkia aplikatuta duen fitxategi-aukeratzaile bat irekitzen da.


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

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

PickFolder

Elkarrizketa-koadro bat irekitzen du karpeta bat hautatzeko.

Sintaxia:

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

Parametroak:

defaultfolder: Elkarrizketa-koadroa irekitzen denean bistaratuko den karpetaren izena duen kate bat (lehenetsia = hautatutako azken karpeta).

freetext: Elkarrizketa-koadroan bistaratuko den testua (lehenetsia = "").

Adibidea:


      ' Basic
      aFolder = FSO.PickFolder("C:\Documents", "Aukeratu karpeta bat edo sakatu 'Utzi'")
    

      # Python
      aFolder = fs.PickFolder(r"C:\Documents", "Aukeratu karpeta bat edo sakatu 'Utzi'")
    

SubFolders

Zeron oinarritutako matrize bat, katez osatutakoa, itzultzen du emandako foldername batean biltegiratutako karpetekin.

Zerrenda komodinekin iragazi daiteke.

Sintaxia:

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

Parametroak:

foldername: Karpeta bat ordezkatzen duen kate bat. Karpetak lehendik egon behar du. foldername parametroak ez du fitxategi bat adierazi behar.

filter: Emaitza gisa sortutako karpeta-zerrendari aplikatuko zaizkien komodinak ("?" eta "*") dituen kate bat (lehenetsia = "").

includesubfolders: Set this argument to True to include the contents of subfolders (Default = False).

Adibidea:

Basic lengoaian

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

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

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.


Emaguzu laguntza!