Edukiak

# ScriptForge.FileSystem zerbitzua

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

- Fitxategi edo karpeta bat existitzen dela egiaztatzea.

- Karpetak eta fitxategiak sortzea eta ezabatzea.

- Fitxategiak irekitzeko/gordetzeko elkarrizketa-koadroak abiaraztea.

- Karpeta bateko fitxategien zerrenda atzitzea, etab.

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

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.

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

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:

- It is not possible to create files in the root folder. Use existing subfolders or create new folders to store files in the document's file system.

- The FileNaming notation is always considered to be "URL".

- The methods CompareFiles, GetFileModified, HashFile, PickFile and PickFolder are not applicable.

- The method GetFileLen always returns zero.

- The method Normalize always returns the input string unchanged.

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.

- destination existitzen ez bada, sortu egingo da.

- Ez dira komodinak onartzen destination parametroan.

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)

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.

- destination existitzen ez bada, sortu egingo da.

- Ez dira komodinak onartzen destination parametroan.

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)

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.

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

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.

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.

- True bada, fitxategi bat eta bere karpeta gurasoak sortuko dira, lehendik ez badaude;

- False bada, fitxategi berriak ez dira sortuko (lehenetsia).

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:

- Karpetaren zatiak elkarrizketa-koadroa irekitzen denean erakutsiko den karpeta adierazten du (lehenetsia = hautatutako azken karpeta).

- Fitxategiaren zatiak ireki edo gordeko den fitxategi lehenetsia adierazten du.

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:
              # ...

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.

Erlazionatutako gaiak

ScriptForge.TextStream zerbitzua

Input funtzioa [VBA]

Open instrukzioa