Słužba ScriptForge.FileSystem

Słužba FileSystem rutiny za wobchadźenje z datajemi a rjadowakami wobsahuje. Potom su někotre přikłady podate, kotrež tuta słužba skići:

note

Metody w słužbje FileSystem so zwjetša na tykačce UNO XSimpleFileAccess bazuja.


Definicije

Sćěhowaca tabela hłowne parametry nalistuje, kotrež so přez najwjace metodow w słužbje FileSystem wužiwaja.

Parameter

Wopisanje

FileName

Dospołne mjeno dataje inkluziwnje šćežku bjez šćežkoweho dźělatka na kóncu.

FolderName

Dospołne mjeno rjadowaka inkluziwnje šćežku. Móže šćežkowe dźělatko na kóncu wobsahować abo nic.

Name

Poslednja komponenta mjeno rjadowaka abo mjeno dataje inkluziwnje jeho kóncowku. Tutón parameter so přeco z pomocu natiwneho formata dźěłoweho systema zwuraznja.

BaseName

Poslednja komponenta mjeno rjadowaka abo mjeno dataje bjez jeho kóncowki.

NamePattern

Jedne z horjeka naspomnjenych mjenow, kotrež wildcard w swojej poslednjej komponenće wobsahuje. Dowolene wildcard su:

  • "?" jednotliwe znamješko reprezentuje

  • "*" žane znamješko, jedne znamješko abo wjacore znamješka reprezentuje


tip

Słužba FileSystem zmóžnja, operacije za wjacore dataje naraz wuwjesć. Z pomocu mjenowych mustrow móža wužiwarske skripty wjacore dateje kopěrować, přesunyć abo zhašeć. Zatwarjene metody Basic pak móža jenož z jednotliwymi datajemi wobchadźeć.


Notacija za datajowe mjena

Notacija, kotraž so wužiwa, zo by mjeno datajow a rjadowakow zwurazniła, za argumenty kaž tež wróćene hódnoty, so přez kajkosć FileNaming słužby FileSystem definuje.

Krótko prajene, su móžne reprezentaciske typy „URL“ (datajowa notacija URL), „SYS“ (notacija dźěłoweho systema) a „ANY“ (standard). Hlejće dalše informacije deleka.

tip

Přikład notacije URL je file:///C:Documents/my_file.odt. Rozwažće po móžnosći wužiwanje notacije URL, dokelž je přenošomna alternatiwa.


warning

Wužiwanje skrótšenki "~" (tilda), kotraž je w na Linux bazowacych dźěłowych systemach z wašnjom, so njepodpěruje, zo by šćežku k rjadowakej a datajowemu mjenu zwurazniło. Wužiwajće město "~/Documents/my_file.odt" dospołnu šćežku "/home/user/Documents/my_file.odt".


Słužbowe wuwołanje

Slědowaca kodow šlipka słužbu FielSystem wuwołuje. Metoda BuildPath je so jako přikład wužiła.

W Basic

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

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

Přistup k wirtualnemu datajowemu systemej dokumenta

Dokumentowe dataje LibreOffice su skomprimowane ZIP-dataje, kotrež dataje a rjadowaki wobsahuja, kotrež poprawny dokumentowy wobsah reprezentuje. Mjeztym zo dokument je wočinjeny, su přistup k wirtualnemu datajowemu systemej, wuslědźenje jeho struktury kaž tež čitanje a wutworjenje datajow a rjadowakow móžne.

Slědowacy přikład pokazuje, kak móžeće tekstowu dataju z mjenom myFile.txt wutworić a ju we wirtuelnym datajowym systemje składować.

W Basic

    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)
    ' Wotwołuje šćežkowu notaciju URL ke korjenjowemu zapisej wirtuelneho datajoweho systema
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    ' Wutwori rjadowak "myDir", jeli njeeksistuje
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Wutwori dataju a pisa tekst do njeje
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
W Python

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

W normalnym padźe dadźa so wšě metody słužby FileSystem wužiwać, zo bychu dataje we wirtuelnym datajowym systemje dokumenta manipulować. Ale slědowace wobmjezowanja płaća:

note

Šćežka k wirtuelnemu datajowemu systemej fyziska adresa na krutej tačeli ličaka njeje. Je jenož wot skripta LibreOffice přistupny a eksistuje jenož, mjeztym zo dokument je wočinjeny.


Kajkosće

Mjeno

Přećiwo pisanju škitany

Typ

Wopisanje

FileNaming

String

Postaja abo wróća aktualnu notaciju datajow a rjadowakow, pak "ANY", "URL" pak "SYS":

  • "ANY": (standard) Metody słužby FielSystem notaciju URL kaž tež notaciju aktualneho dźěłoweho systema za zapodawanske argument akceptuja, wróćeja wšak přeco znamješkowe rjećazki URL.

  • "URL": Metody słužby FileSystem notaciju URL za zapodawanske argumenty wočakuja a wróćeja znamješkowe rjećazki URL.

  • "SYS": Metody słužby FileSystem notaciju aktualneho dźěłoweho systema za zapodawanske argumenty wočakuja a wróćeja znamješkowe rjećazki.

Jónu nastajena, so kajkosć FileNaming njezměnjena wostawa, pak do kónca posedźenja LibreOffice pak doniž so znowa njenastaja.

ConfigFolder

Haj

String

Wróći konfiguraciski rjadowak LibreOffice.

ExtensionsFolder

Haj

String

Wróći rjadowak, hdźež rozšěrjenja su instalowane.

HomeFolder

Haj

String

Wróći startowy rjadowak wužiwarja.

InstallFolder

Haj

String

Wróći instalaciski rjadowak LibreOffice.

TemplatesFolder

Haj

String

Wróći rjadowak, kotryž dataje ze systemowymi předłohami wobsahuje.

TemporaryFolder

Haj

String

Wróći rjadowak nachwilnych datajow, kotryž je w šćežkowych nastajenjach LibreOffice definowany.

UserTemplatesFolder

Haj

String

Wróći rjadowak, kotryž dataje za swójske dokumentowe předłohi wobsahuje.


Lisćina metodow w słužbje FileSystem

BuildPath
CompareFiles
CopyFile
CopyFolder
CreateFolder
CreateTextFile
DeleteFile
DeleteFolder
ExtensionFolder

FileExists
Files
FolderExists
GetBaseName
GetExtension
GetFileLen
GetFileModified
GetName
GetParentFolderName

GetTempName
HashFile
MoveFile
MoveFolder
Normalize
OpenTextFile
PickFile
PickFolder
SubFolders


BuildPath

Zwjazuje rjadowakowu šćežku a mjeno dataje a wróća dospołne datajowe mjeno z płaćiwym šćežkowym dźělatkom. Šćežkowe dźělatko so jenož přidawa, jeli trjeba.

Syntaksa:

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

Parametry:

foldername: Šćežka, z kotrejž so name kombinuje. Podata šćežka njetrjeba eksistowacy rjadowak być.

name: Mjeno dataje, kotraž so ma k foldername připowěsnyć. Tutón parameter notaciju aktualneho dźěłoweho systema wužiwa.

Přikład:

W Basic

      Dim FSO as Object
      Set FSO = CreateScriptService("FileSystem")
      Dim aFileName as String
      FSO.FileNaming = "URL"
      aFileName = FSO.BuildPath("file:///home/user", "sample file.odt")
      ' file:///home/user/sample%20file.odt
    
W Python

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

CompareFiles

Přirunuje dwě dataji a wróća True, hdyž zdatej so identiskej być.

Wotwisujo wot hódnoty argumenta comparecontents, móže přirunanje mjez woběmaj datajomaj pak na datajowych atributach bazować (kaž na poslednim změnjenym datumje) pak na wobsahu dataje.

Syntaksa:

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

Parametry:

filename1, filename2: Dataji, kotrejž so matej přirunać.

comparecontents: Hdyž True, so wobsah datajow přirunuje (standard = False).

Přikład:

W Basic

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

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

CopyFile

Kopěruje jednu dataju abo wjacore dataje wot jednoho městna do druheho. Wróći True, jeli znajmjeńša jedna dataja je so kopěrowała abo False, jeli zmylk je nastał.

Zmylk nastawa, jeli parameter source znamješka wildcard wužiwa a žanej dataji wotpowěduje.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ničo njewospjetuje ani njecofa změny, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

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

Parametry:

source: Móže Filename abo NamePattern być, kotryž jednu dataju abo wjacore dataje podawa, kotrež so maja kopěrować.

destination: Móže pak FileName być, kotrež podawa, hdźež jednotliwa dataja source ma so kopěrować pak FolderName, do kotrehož so maja wjacore dataje ze source kopěrować.

overwrite: Jeli True (standard), dadźa so dataje přepisać. Metoda so njeporadźi, jeli destination je přećiwo pisanju škitany, njedźiwajo na hódnotu, kotraž je w overwrite podata.

Přikład:

W slědowacych přikładach prěnja linka jednotliwu dataju kopěruje, mjeztym zo druha linka wjacore dataje z pomocu wildcard kopěruje.

W Basic

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

Dźiwajće na to, zo so podrjadowaki a jich wobsah njekopěruja, hdyž so wildcard w argumenće source wužiwaja.


CopyFolder

Kopěruje jedyn rjadowak abo wjacore rjadowaki wot jednoho městna do druheho. Wróći True, jeli znajmjeńša jedyn rjadowak je so kopěrował abo False, jeli zmylk je nastał.

Zmylk tež nastanje, jeli parameter source znamješka wildcard wužiwa a žanomu rjadowakej njewotpowěduje.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ani njewospjetuje ani změny njecofa, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

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

Parametry:

source: Móže FolderName abo NamePattern być, kotryž jedyn rjadowak abo wjacore rjadowaki podawa, kotrež so maja kopěrować.

destination: Podawa FolderName, do kotrehož so maja jedyn rjadowak abo wjacore rjadowaki kopěrować, kotrež su w source definowane.

overwrite: Jeli True (standard), dadźa so dataje přepisać. Metoda so njeporadźi, jeli destination je přećiwo pisanju škitany, njedźiwajo na hódnotu, kotraž je w overwrite podata.

Přikład:

W slědowacych přikładach so wšě dataje, rjadowaki a podrjadowaki kopěruja.


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

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

CreateFolder

Wutwori podate FolderName. Wróći True, jeli rjadowak je so wuspěšnje wutworił.

Jeli podaty rjadowak ma nadrjadowany rjadowak, kotryž njeeksistuje, wutwori so.

Syntaksa:

svc.CreateFolder(foldername: str): bool

Parametry:

foldername: Znamješkowy rjećazk, kotryž rjadowak reprezentuje, kotryž so ma wutworić. Jeli rjadowak hižo eksistuje, so wuwzaće wuwabi.

Přikład:


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

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

CreateTextFile

Wutwori podatu dataju a wróći słužbowu instancu TextStream, kotraž da so wužiwać, zo by do dataje pisała.

Metoda objekt Null wróća, jeli zmylk je nastał.

Syntaksa:

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

Parametry:

filename: Mjeno dataje, kotraž so ma wutworić.

overwrite: Boolowa hódnota, kotraž postaja, hač filename da so přepisać (standard = True).

encoding: Znamješkowa sadźba, kotraž so ma wužiwać. Standardne kodowanje je „UTF-8“.

Přikład:

W Basic

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

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

Zo byšće wjace wo mjenach znamješkowych sadźbow zhonił, wopytajće stronu Character Sets IANA. Dźiwajće na to, LibreOffice nic wšě eksistowace znamješkowe sadźby implementuje.


DeleteFile

Zhaša jednu dataju abo wjacore dataje. Wróći True, jeli znajmjeńša jedna dataja je so zhašała abo False, jeli zmylk je nastał.

Zmylk nastanje, jeli parameter filename znamješka wildcard wužiwa a žanej dataji njewotpowěduje.

Dataje, kotrež so maja zhašeć, njesmědźa přećiwo pisanju škitane być.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ani njewospjetuje ani změny njecofa, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

svc.DeleteFile(filename: str): bool

Parametry:

filename: Móže FileName abo NamePattern być, kotryž jednu dataju abo wjacore dataje podawa, kotrež so maja zhašeć.

Přikład:

W slědowacych přikładach so jenož dataje zhašeja, podrjadowaki so njezhašeja.


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

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

DeleteFolder

Zhaša jedyn rjadowak abo wjacore rjadowaki. Wróći True, jeli znajmjeńša jedyn rjadowak je so zhašał abo False, jeli zmylk je nastał.

Zmylk tež nastanje, jeli parameter foldername znamješka wildcard wužiwa a žanomu rjadowaku njewotpowěduje.

Rjadowaki, kotrež so maja zhašeć, njesmědźa přećiwo pisanju škitane być.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ani njewospjetuje ani změny njecofa, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

svc.DeleteFolder(foldername: str): bool

Parametry:

foldername: Móže FolderName abo NamePattern być, kotryž jedyn rjadowak abo wjacore rjadowaki podawa, kotrež so maja zhašeć.

Přikład:

W slědowacych přikładach so jenož rjadowaki a jich wobsah zhašeja. Dataje w nadrjadowanym rjadowaku "C:\Temp" so njezhašeja.


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

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

ExtensionFolder

Wróći znamješkowy rjećazk, kotryž rjadowak wobsahuje, hdźež je podaty rozšěrjenski pakćik instalowany.

note

Aktualna hódnota kajkosće SF_FileSystem.FileNaming so wužiwa, zo by notaciju wróćeneho znamješkoweho rjećazka postajiła.


tip

Wužiwajće kajkosć Extensions ze słužby Platform, zo byšće matriks znamješkoweho rjećazka z ID wšěch instalowanych rozšěrjenjow dóstał.


Syntaksa:

svc.ExtensionFolder(extension: str): str

Parametry:

extension: Znamješkowy rjećazk z ID rozšěrjenja. Jeli rozšěrjenje instalowane njeje, so wuwzaće wuwabi.

Přikład:

Slědowace přikłady w Basic a Python rjadowak wróćeja, hdźež je so rozšěrjenje APSO instalowało.


      ' 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

Wróći True, jeli podate datajowe mjeno eksistuje, hewak metoda False wróći.

Jeli parameter filename je woprawdźe eksistowace rjadowakowe mjeno, metoda False wróći.

Syntaksa:

svc.FileExists(filename: str): bool

Parametry:

filename: Znamješkowy rjećazk, kotryž dataju reprezentuje, kotraž so ma testować.

Přikład:

W Basic

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

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

Files

Wróći na nuli bazowacu matriks (BASIC) abo tupel (Python) datajow, kotrež su w podatym rjadowaku składowane. Kóždy zapisk w matriksy abo tupelu je znamješkowy rjećazk, kotryž dospołnu šćežku a datajowe mjeno wobsahuje.

Jeli argument foldername rjadowak podawa, kotryž njeeksistuje, so wuwzaće wuwabi.

Rezultowaca lisćina da so z wildcard filtrować.

Syntaksa:

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

Parametry:

foldername: Znamješkowy rjećazk, kotryž rjadowak reprezentuje. Rjadowak dyrbi eksistować. Tutón argument njesmě dataju woznamjenić.

filter: Znamješkowy rjećazk, kotryž wildcard ("?" a "*") wobsahuje, kotryž so na rezultowacu lisćinu datajow nałožuje (standard = "").

includesubfolders: Stajće tutón argument na True, zo byšće wobsah podrjadowakow zapřijał (standard = False).

Přikład:

W Basic

      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Wróći wšě dataje, kotrež filtrej "*.txt" wotpowěduja, inkluziwnje dataje w podrjadowakach.
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
W Python

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

FolderExists

Wróći True, jeli podate FolderName je płaćiwe a eksistuje, hewak metoda False wróći.

Jeli parameter foldername je woprawdźe eksistowace datajowe mjeno, metoda False wróći.

Syntaksa:

svc.FolderExists(foldername: str): bool

Parametry:

foldername: Znamješkowy rjećazk, kotryž rjadowak reprezentuje, kotryž so ma testować.

Přikład:

W Basic

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

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

GetBaseName

Wróći BaseName (runa so poslednjej komponenće) rjadowakoweho abo datajoweho mjena bjez kóncowki.

Metoda njepřepruwuje, hač podata dataja abo podaty rjadowak eksistuje.

Syntaksa:

svc.GetBaseName(filename: str): str

Parametry:

filename: Znamješkowy rjećazk, kotryž datajowe mjeno a jeho šćežku reprezentuje.

Přikład:

W slědowacych přikładach prěnje metodowe wuwołanje GetBaseName rjadowakej wotpowěduje, tak zo funkcija poslednju komponentu šćežki wróći. Druhe wuwołanje datajowe mjeno jako zapodaće dóstawa, tak zo so mjeno dataje bjez kóncowki wróća.

W Basic

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

Wróći kóncowku datajoweho abo rjadowakoweho mjena bjez dypka ".".

Metoda njepřepruwuje, hač podata dataja abo podaty rjadowak eksistuje.

Jeli so tuta metoda na mjeno rjadowaka abo na dataju bjez kóncowki nałožuje, so prózdny znamješkowy rjećazk wróći.

Syntaksa:

svc.GetExtension(filename: str): str

Parametry:

filename: Znamješkowy rjećazk, kotryž datajowe mjeno a jeho šćežku reprezentuje.

Přikład:


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

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

GetFileLen

Zatwarjena funkcija Basic FileLen ličbu bajtow wróća, kotrež su w dataji jako hódnota Long wobsahowane, t. r. hač do 2 GB.

Metoda GetFileLen móže z datajemi z wo wjele wjetšimi wulkosćemi wobchadźeć, wróća hódnotu Currency.

Syntaksa:

svc.GetFileLen(filename: str): num

Parametry:

filename: Znamješkowy rjećazk, kotryž eksistowacu dataju reprezentuje.

Přikład:

W Basic

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

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

GetFileModified

Wróći datum poslednjeje změny dateje dataje.

Syntaksa:

svc.GetFileModified(filename: str): datetime

Parametry:

filename: Znamješkowy rjećazk, kotryž eksistowacu dataju reprezentuje.

Přikład:

W Basic

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

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

GetName

Wróći poslednju komponentu datajoweho abo rjadowakoweho mjena w natiwnym formaće dźěłoweho systema.

Metoda njepřepruwuje, hač podata dataja abo podaty rjadowak eksistuje.

Syntaksa:

svc.GetName(filename: str): str

Parametry:

filename: Znamješkowy rjećazk, kotryž datajowe mjeno a jeho šćežku reprezentuje.

Přikład:


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

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

GetParentFolderName

Wróći znamješkowy rjećazk, kotryž mjeno nadrjadowaneho rjadowaka abo podatu datajowe abo rjadowakowe mjeno eksistuje.

Metoda njepřepruwuje, hač podata dataja abo podaty rjadowak eksistuje.

Syntaksa:

svc.GetParentFolderName(filename: str): str

Parametry:

filename: Znamješkowy rjećazk z datajowym abo rjadowakowym mjenom, kotryž so ma analyzować.

Přikład:


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

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

GetTempName

Wróći připadnje generowane nachwilne datajowe mjeno, kotrež je wužitne za wuwjedźenje procesow, kotrež sej nachwilnu dataju wužaduja.

Po standardźe wróćene datajowe mjeno kóncowku nima. Wužiwajće parameter extension, zo byšće kóncowku datajoweho mjena podał, kotrež so ma generować.

Rjadowakowy dźěl wróćeneho znamješkoweho rjećazka je nachwilny rjadowak systema.

Metoda nachwilnu dataju njewutwori.

Syntaksa:

svc.GetTempName(extension: str): str

Parametry:

extension: Kóncowka nachwilneho datajoweho mjena (standard = "").

Přikład:

W Basic

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

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

HashFile

Funkcije Hash so přez někotre kryptografiske algoritmusy w digitalnych signaturach, powěsćowych awtentifkaciskich kodach, wobšudniskim spóznaću, porstowych wotćišćach, přepruwowanskich sumach (kontrola powěsćoweje integrity), tabelach hash, hesłowym składźe a wjele wjace wužiwaja.

Metoda HashFile wuslědk funkcije hash wróća, kotraž so na podatu dataju nałožuje a kotraž wěsty algoritmus wužiwa. Wróćena hódnota je znamješkowy rjećazk z heksadecimalnych cyfrow w małych pismikach.

Algoritmusy hash, kotrež so podpěruja, su: MD5, SHA1, SHA224, SHA256, SHA384 a SHA512.

Syntaksa:

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

Parametry:

filename: Znamješkowy rjećazk, kotryž eksistowacu dataju reprezentuje.

algorithm: Jedyn z podpěranych algoritmusow.

Přikład:


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

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

MoveFile

Přesuwa jednu dataju abo wjacore dataje wot jednoho městno do druheho. Wróći True, jeli znajmjeńša jedna dataja je so přesunyła abo False, jeli zmylk je nastał.

Zmylk tež nastanje, jeli parameter source znamješka wildcard a žanej dataji wotpowěduje.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ani njewospjetuje ani změny njecofa, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

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

Parametry:

source: Móže FileName abo NamePattern być, zo by jednu dataju abo wjacore dataje woznamjenił, kotrež so maja přesunyć.

destination: Jeli source je FileName, da tutón parameter nowu šćežku a datajowe mjeno přesunjeneje dataje podawa.

Jeli přesuwanski proces wjacore dataje wobjima, dyrbi destination rjadowakowe mjeno być. Jeli njeeksistuje, wutwori so.

Jeli source a destination samsny nadrjadowany rjadowak matej, budźe metoda source přemjenować.

Znamješka wildcard w destination dowolene njejsu.

Přikład:

W slědowacych přikładach so jenož dataje přesuwaja, podrjadowaki nic.


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

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

MoveFolder

Přesuwa jedyn rjadowak abo wjacore rjadowaki wot jednoho městna do druheho. Wróći True, jeli znajmjeńša jedyn rjadowak je so přesunył abo False, jeli zmylk je nastał.

Zmylk tež nastanje, jeli parameter source znamješka wildcard wužiwa a žanomu rjadowakej njewotpowěduje.

Metoda hnydom zastaji, po tym zo je na zmylk storčiła. Metoda ani njewospjetuje ani změny njecofa, kotrež su so přewjedli, prjedy hač zmylk je nastał.

Syntaksa:

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

Parametry:

source: Móže FolderName abo NamePattern być, zo by jedyn rjadowak abo wjacore rjadowaki woznamjenił, kotrež so maja přesunyć.

destination: Jeli přesuwanski proces jednotliwy rjadowak wopřijima, je destination mjeno a šćežka přesunjeneho rjadowaka a njesmě eksistować.

Jeli wjacore rjadowaki so přesuwaja, destination podawa, hdźež so rjadowaki w source přesuwaja. Jeli destination njeeksistuje, wutwori so.

Znamješka wildcard w destination dowolene njejsu.

Přikład:


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

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

Normalize

Wróći znamješkowy rjećazk, kotryž normalizowane šćežkowe mjeno wobsahuje, hdyž so redundantne dźělatka a referency na wyšej runinje chowaja.

Šćežkowe mjena A//B, A/B/, A/./B a A/foo/../B na přikład so wšě do A/B normalizuja.

Na Windows so nakósne smužki "/" do nawrótnych nakósnych smužkow "\" přetworjeja.

note

Aktualna hódnota kajkosće SF_FileSystem.FileNaming so wužiwa, zo by notaciju argumenta filename kaž tež format wróćeneho znamješkoweho rjećazka postajił.


Syntaksa:

svc.Normalize(filename: str): str

Parametry:

filename: znamješkowy rjećazk, kotryž płaćiwe šćežkowe mjeno reprezentuje. Dataja abo zapis, kotrejž so přez tutón argument reprezentujetej, snano njeeksistujetej.

Přikład:

W Basic

    FSO.FileNaming = "URL"
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home/user/Documents/")
    ' file:///home/user/Documents
    normPath = FSO.Normalize("file:///home//user//Documents/")
    ' file:///home/user
    normPath = FSO.Normalize("file:///home//user//Documents/../")
  
W Python

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

OpenTextFile

Wočinja dataju a wróća objekt TextStream, kotryž da so wužiwać, zo by z dataje čitał, do dataje pisał a k dataji připowěsnył.

Dźiwajće na to, zo metoda njepřepruwuje, hač podata dataja je woprawdźe tekstowa dataja.

Metoda objekt Null (w Basic) abo None (w Python) wróća, jeli zmylk je nastał.

Syntaksa:

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

Parametry:

filename: Identifikuje dataju, kotraž so ma wočinić.

iomode: Podawa zapodawanski/wudawanski modus. Móže jedna z třoch konstantow być: svc.ForReading (standard), svc.ForWriting abo svc.ForAppending.

create: Boolowa hódnota, kotraž podawa, hač da so nowa dataja wutworić, jeli podate filename njeeksistuje:

encoding: Znamješkowa sadźba, kotraž so ma wužiwać. Standardne kodowanje je „UTF-8“.

Přikład:

W Basic

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

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

PickFile

Wočinja dialogowe polo, zo by dataje wočiniła abo składowała.

Jeli modus SAVE je nastajeny a wubrana dataja eksistuje, so warnowanska zdźělenka pokaza.

Syntaksa:

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

Parametry:

defaultfile: Tutón argument je znamješkowy rjećazk, kotryž z rjadowakoweho a datajoweho mjena wobsteji:

mode: A string value that can be either "OPEN" (for input files) or "SAVE" (for output files). The default value is "OPEN".

filter: The extension of the files displayed when the dialog is opened (default = no filter).

Přikład:

The examples below open a file picker with the "txt" filter applied.


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

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

PickFolder

Opens a dialog box to select a folder.

Syntaksa:

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

Parametry:

defaultfolder: A string containing the folder name that will be displayed when the dialog is opened (default = the last selected folder).

freetext: Text to display in the dialog (default = "").

Přikład:


      ' Basic
      aFolder = FSO.PickFolder("C:\Documents", "Choose a folder or press Cancel")
    

      # Python
      aFolder = fs.PickFolder(r"C:\Documents", "Choose a folder or press Cancel")
    

SubFolders

Returns a zero-based array of strings corresponding to the folders stored in a given foldername.

The list may be filtered with wildcards.

Syntaksa:

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

Parametry:

foldername: A string representing a folder. The folder must exist. foldername must not designate a file.

filter: A string containing wildcards ("?" and "*") that will be applied to the resulting list of folders (default = "").

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

Přikład:

W Basic

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

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

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.


Prošu podpěrajće nas!