ScriptForge . FileSystem serbisyo

Ang FileSystem Kasama sa serbisyo ang mga gawain sa paghawak ng mga file at folder. Susunod ang ilang halimbawa ng mga feature na ibinigay ng serbisyong ito:

note

Ang mga pamamaraan sa serbisyo ng FileSystem ay kadalasang nakabatay sa XSimpleFileAccess UNO interface.


Mga Kahulugan

Inililista ng talahanayan sa ibaba ang mga pangunahing parameter na ginagamit ng karamihan sa mga pamamaraan sa FileSystem serbisyo.

Parameter

Mga nilalaman

FileName

Ang buong pangalan ng file kasama ang path na walang path separator sa dulo.

FolderName

Ang buong pangalan ng folder kasama ang path. Maaaring naglalaman ito o hindi ng pangwakas na path separator.

Name

Ang huling bahagi ng Pangalan ng Folder o Pangalan ng File kasama ang extension nito. Ang parameter na ito ay palaging ipinahayag gamit ang katutubong format ng operating system.

BaseName

Ang huling bahagi ng Pangalan ng Folder o Pangalan ng File nang walang extension nito.

NamePattern

Anuman sa mga pangalan sa itaas na naglalaman ng mga wildcard sa huling bahagi nito. Ang mga tinatanggap na wildcard ay:

  • "?" kumakatawan sa anumang solong karakter

  • Ang "*" ay kumakatawan sa zero, isa, o maraming character


tip

Ang FileSystem nagbibigay-daan ang serbisyo na magsagawa ng mga operasyon sa maraming mga file nang sabay-sabay. Sa pamamagitan ng paggamit ng mga pattern ng pangalan, maaaring kopyahin, ilipat o tanggalin ng mga script ng user ang maraming file. Sa kabaligtaran, ang mga Basic na built-in na pamamaraan ay maaari lamang humawak ng mga solong file.


Notation ng File Name

Ang notasyong ginamit upang ipahayag ang mga pangalan ng file at folder, kapwa para sa mga argumento at ibinalik na mga halaga, ay tinukoy ng FileNaming ari-arian ng FileSystem serbisyo.

Sa madaling salita, ang mga posibleng uri ng representasyon ay "URL" (URL file notation), "SYS" (operating system notation) at "ANY" (default). Tingnan ang higit pang impormasyon sa ibaba .

tip

Ang isang halimbawa ng notasyon ng URL ay file:///C:/Documents/my_file.odt . Hangga't maaari isaalang-alang ang paggamit ng notasyon ng URL dahil ito ay isang mas portable na alternatibo.


warning

Ang paggamit ng shortcut na "~" (tilde), na karaniwan sa mga operating system na nakabatay sa Linux, ay hindi sinusuportahan upang ipahayag ang isang landas sa isang folder at pangalan ng file. Sa halip na gamitin "~/Documents/my_file.odt" gamitin ang buong landas "/home/user/Documents/my_file.odt" .


Panawagan sa serbisyo

Ang sumusunod na snippet ng code ay humihimok ng FileSystem serbisyo. Ang pamamaraan BuildPath ay ginamit bilang isang halimbawa.

Sa Basic

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

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

Pag-access sa Virtual File System ng isang Dokumento

Ang LibreOffice na mga file ng dokumento ay mga naka-compress na ZIP file na naglalaman ng mga file at folder na kumakatawan sa aktwal na mga nilalaman ng dokumento. Habang bukas ang dokumento, posibleng ma-access ang virtual file system na ito, galugarin ang istraktura nito, at magbasa at lumikha ng mga file at folder.

Ang sumusunod na halimbawa ay nagpapakita kung paano lumikha ng isang text file na pinangalanan myFile.txt at iimbak ito sa loob ng virtual file system ng dokumento.

Sa 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)
    ' Nakukuha ang URL path notation sa ugat ng virtual file system
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    ' Lumilikha ng folder na "myDir" kung wala ito
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Lumilikha ng file at sumulat ng ilang teksto dito
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
Sa 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()
  

Sa pangkalahatan, ang lahat ng mga pamamaraan ng FileSystem maaaring gamitin ang serbisyo upang manipulahin ang mga file sa virtual file system ng dokumento. Gayunpaman, nalalapat ang mga sumusunod na paghihigpit:

note

Ang landas patungo sa virtual file system ay hindi isang pisikal na address sa hard drive ng computer. Maaari lamang itong ma-access mula sa loob ng isang script ng LibreOffice at umiiral lamang ito habang bukas ang file ng dokumento.


Mga Katangian

Pangalan

Readonly

Type

Mga nilalaman

FileNaming

Hindi

String

Itinatakda o ibinabalik ang kasalukuyang notasyon ng mga file at folder, alinman sa "ANY", "URL" o "SYS":

  • "kahit sino" : (default) ang mga pamamaraan ng FileSystem tinatanggap ng serbisyo ang parehong URL at kasalukuyang notasyon ng operating system para sa mga input argument ngunit palaging nagbabalik ng mga string ng URL.

  • "URL" : ang mga pamamaraan ng FileSystem inaasahan ng serbisyo ang notasyon ng URL para sa mga argumento ng pag-input at mga string ng URL na ibinabalik.

  • "SYS" : ang mga pamamaraan ng FileSystem inaasahan ng serbisyo ang kasalukuyang notasyon ng operating system para sa parehong mga argumento ng pag-input at mga string ng pagbabalik.

Kapag naitakda, ang FileNaming ang property ay nananatiling hindi nagbabago hanggang sa katapusan ng LibreOffice session o hanggang sa ito ay maitakdang muli.

ConfigFolder

Mayroon

String

Ibinabalik ang configuration folder ng LibreOffice.

ExtensionsFolder

Mayroon

String

Ibinabalik ang folder kung saan naka-install ang mga extension.

HomeFolder

Mayroon

String

Ibinabalik ang folder ng home ng user.

InstallFolder

Mayroon

String

Ibinabalik ang folder ng pag-install ng LibreOffice.

TemplatesFolder

Mayroon

String

Ibinabalik ang folder na naglalaman ng mga file ng template ng system.

TemporaryFolder

Mayroon

String

Ibinabalik ang folder ng pansamantalang mga file na tinukoy sa mga setting ng path ng LibreOffice.

UserTemplatesFolder

Mayroon

String

Ibinabalik ang folder na naglalaman ng mga file ng template na tinukoy ng user.


Listahan ng Mga Paraan sa Serbisyo ng 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

Sumasali sa isang folder path at ang pangalan ng isang file at ibinabalik ang buong pangalan ng file na may wastong path separator. Ang path separator ay idinagdag lamang kung kinakailangan.

Syntax:

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

Mga Parameter:

foldername : Ang landas kung saan pangalan pagsasamahin. Ang tinukoy na landas ay hindi kailangang maging isang umiiral na folder.

pangalan : Ang pangalan ng file na idaragdag sa foldername . Ginagamit ng parameter na ito ang notasyon ng kasalukuyang operating system.

Halimbawa:

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

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

CompareFiles

Naghahambing ng dalawang file at nagbabalik totoo kapag sila ay tila magkapareho.

Depende sa halaga ng ihambing ang mga nilalaman argumento, ang paghahambing sa pagitan ng parehong mga file ay maaaring batay lamang sa mga katangian ng file (tulad ng huling binagong petsa), o batay sa mga nilalaman ng file.

Syntax:

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

Mga Parameter:

filename1, filename2 : Ang mga file na ihahambing.

ihambing ang mga nilalaman : Kailan totoo , ang mga nilalaman ng mga file ay inihambing (default = Mali ).

Halimbawa:

Sa Basic

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

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

CopyFile

Kinokopya ang isa o higit pang mga file mula sa isang lokasyon patungo sa isa pa. Nagbabalik totoo kung hindi bababa sa isang file ang nakopya o Mali kung may naganap na error.

Magkakaroon din ng error kung ang pinagmulan Gumagamit ang parameter ng mga wildcard na character at hindi tumutugma sa anumang mga file.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

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

Mga Parameter:

pinagmulan : Maaari itong maging a FileName o a NamePattern na nagpapahiwatig ng isa o higit pang mga file na makokopya.

patutunguhan : Maaari itong alinman sa a FileName pagtukoy kung saan ang single pinagmulan file ay dapat kopyahin, o a Pangalan ng Folder kung saan nagmula ang maramihang mga file pinagmulan ay dapat kopyahin.

overwrite : Kung totoo (default), maaaring ma-overwrite ang mga file. Ang pamamaraan ay mabibigo kung patutunguhan ay readonly, anuman ang halaga na tinukoy sa overwrite .

Halimbawa:

Sa mga halimbawa sa ibaba ang unang linya ay kinokopya ang isang file samantalang ang pangalawang linya ay kumukopya ng maraming file gamit ang mga wildcard.

Sa Basic

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

Magkaroon ng kamalayan na ang mga subfolder at ang kanilang mga nilalaman ay hindi kinokopya kapag ang mga wildcard ay ginamit sa pinagmulan argumento.


CopyFolder

Kinokopya ang isa o higit pang mga folder mula sa isang lokasyon patungo sa isa pa. Nagbabalik totoo kung hindi bababa sa isang folder ang nakopya o Mali kung may naganap na error.

Magkakaroon din ng error kung ang pinagmulan Ang parameter ay gumagamit ng mga wildcard na character at hindi tumutugma sa anumang mga folder.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

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

Mga Parameter:

pinagmulan : Maaari itong maging a Pangalan ng Folder o a NamePattern na nagpapahiwatig ng isa o higit pang mga folder na makokopya.

patutunguhan : Tinutukoy ang Pangalan ng Folder kung saan tinukoy ang isa o maramihang folder pinagmulan ay dapat kopyahin.

overwrite : Kung totoo (default), maaaring ma-overwrite ang mga file. Ang pamamaraan ay mabibigo kung patutunguhan ay readonly, anuman ang halaga na tinukoy sa overwrite .

Halimbawa:

Sa mga halimbawa sa ibaba lahat ng mga file, folder at subfolder ay kinopya.


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

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

CreateFolder

Lumilikha ng tinukoy Pangalan ng Folder . Nagbabalik totoo kung matagumpay na magawa ang folder.

Kung ang tinukoy na folder ay may parent na folder na hindi umiiral, ito ay nilikha.

Syntax:

svc.CreateFolder(foldername: str): bool

Mga Parameter:

foldername : Isang string na kumakatawan sa folder na gagawin. Kung mayroon nang folder, itataas ang isang pagbubukod.

Halimbawa:


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

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

CreateTextFile

Lumilikha ng isang tinukoy na file at nagbabalik ng a TextStream halimbawa ng serbisyo na maaaring magamit upang magsulat sa file.

Ang pamamaraan ay nagbabalik a Null object kung may naganap na error.

Syntax:

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

Mga Parameter:

filename : Ang pangalan ng file na gagawin.

overwrite : Boolean na halaga na tumutukoy kung filename maaaring ma-overwrite (default = totoo ).

encoding : Ang set ng character na gagamitin. Ang default na encoding ay "UTF-8".

Halimbawa:

Sa Basic

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

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

Upang matuto nang higit pa tungkol sa mga pangalan ng set ng character, bisitahin ang IANA's Character Set pahina. Magkaroon ng kamalayan na hindi ipinapatupad ng LibreOffice ang lahat ng umiiral na set ng character.


DeleteFile

Tinatanggal ang isa o higit pang mga file. Nagbabalik totoo kung hindi bababa sa isang file ang natanggal o Mali kung may naganap na error.

Magkakaroon din ng error kung ang filename Ang parameter ay gumagamit ng mga wildcard na character at hindi tumutugma sa anumang mga file.

Ang mga file na tatanggalin ay hindi dapat readonly.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

svc.DeleteFile(filename: str): bool

Mga Parameter:

filename : Maaari itong maging a FileName o a NamePattern na nagpapahiwatig ng isa o higit pang mga file na tatanggalin.

Halimbawa:

Sa mga halimbawa sa ibaba, mga file lang ang tinatanggal, ang mga subfolder ay hindi tinatanggal.


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

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

DeleteFolder

Tinatanggal ang isa o higit pang mga folder. Nagbabalik totoo kung hindi bababa sa isang folder ang natanggal o Mali kung may naganap na error.

Magkakaroon din ng error kung ang foldername Ang parameter ay gumagamit ng mga wildcard na character at hindi tumutugma sa anumang mga folder.

Ang mga folder na tatanggalin ay hindi dapat readonly.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

svc.DeleteFolder(foldername: str): bool

Mga Parameter:

foldername : Maaari itong maging a Pangalan ng Folder o a NamePattern na nagpapahiwatig ng isa o higit pang mga folder na tatanggalin.

Halimbawa:

Sa mga halimbawa sa ibaba, ang mga folder lamang at ang mga nilalaman nito ay tinanggal. Ang mga file sa parent folder na "C:\Temp" ay hindi tinatanggal.


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

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

ExtensionFolder

Nagbabalik ng string na naglalaman ng folder kung saan naka-install ang tinukoy na extension package.

note

Ang kasalukuyang halaga ng ari-arian SF_FileSystem.FileNaming ay ginagamit upang matukoy ang notasyon ng ibinalik na string.


tip

Gamitin ang ari-arian Mga extension mula sa Plataporma serbisyo upang makakuha ng string array na may mga ID ng lahat ng naka-install na extension.


Syntax:

svc.ExtensionFolder(extension: str): str

Mga Parameter:

extension : Isang string value na may ID ng extension. Kung hindi naka-install ang extension, itataas ang isang exception.

Halimbawa:

Ang mga halimbawa sa ibaba sa Basic at Python ay nagbabalik ng folder kung saan naka-install ang APSO extension.


      ' 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

Nagbabalik totoo kung ang isang ibinigay na pangalan ng file ay wasto at umiiral, kung hindi, ang paraan ay babalik Mali .

Kung ang filename parameter ay talagang isang umiiral na pangalan ng folder, ang paraan ay nagbabalik Mali .

Syntax:

svc.FileExists(filename: str): bool

Mga Parameter:

filename : Isang string na kumakatawan sa file na susuriin.

Halimbawa:

Sa Basic

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

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

Files

Nagbabalik ng zero-based na array ng mga file na nakaimbak sa isang partikular na folder. Ang bawat entry sa array ay isang string na naglalaman ng buong path at pangalan ng file.

Kung ang argumento foldername tumutukoy sa isang folder na hindi umiiral, ang isang pagbubukod ay itinaas.

Ang resultang listahan ay maaaring ma-filter gamit ang mga wildcard.

Syntax:

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

Mga Parameter:

foldername : Isang string na kumakatawan sa isang folder. Ang folder ay dapat na umiiral. Ang argumentong ito ay hindi dapat magtalaga ng isang file.

salain : Isang string na naglalaman ng mga wildcard ("?" at "*") na ilalapat sa magreresultang listahan ng mga file (default = "").

kasama ang mgasubfolder : Itakda ang argumentong ito sa totoo upang isama ang mga nilalaman ng mga subfolder (Default = Mali ).

Halimbawa:

Sa Basic

      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Ibinabalik ang lahat ng mga file na tumutugma sa "*.txt" na filter, kabilang ang mga file sa mga subfolder
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
Sa Python

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

FolderExists

Nagbabalik totoo kung ang tinukoy Pangalan ng Folder ay wasto at umiiral, kung hindi ay babalik ang pamamaraan Mali .

Kung ang foldername parameter ay talagang isang umiiral na pangalan ng file, ang paraan ay nagbabalik Mali .

Syntax:

svc.FolderExists(foldername: str): bool

Mga Parameter:

foldername : Isang string na kumakatawan sa folder na susuriin.

Halimbawa:

Sa Basic

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

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

GetBaseName

Ibinabalik ang BaseName (katumbas ng huling bahagi) ng isang folder o pangalan ng file, nang walang extension nito.

Ang pamamaraan ay hindi sinusuri kung ang tinukoy na file o folder ay umiiral.

Syntax:

svc.GetBaseName(filename: str): str

Mga Parameter:

filename : Isang string na kumakatawan sa pangalan ng file at landas nito.

Halimbawa:

Sa mga halimbawa sa ibaba, ang una GetBaseName ang method call ay tumutugma sa isang folder, kaya ibinabalik ng function ang huling bahagi ng path. Ang pangalawang tawag ay tumatanggap ng pangalan ng file bilang input, kaya ibinalik ang pangalan ng file nang walang extension nito.

Sa Basic

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

Ibinabalik ang bahagi ng extension ng isang file o pangalan ng folder na walang tuldok na "." karakter.

Hindi sinusuri ng pamamaraan ang pagkakaroon ng tinukoy na file o folder.

Kung ang pamamaraang ito ay inilapat sa isang pangalan ng folder o sa isang file na walang extension, pagkatapos ay isang walang laman na string ang ibabalik.

Syntax:

svc.GetExtension(filename: str): str

Mga Parameter:

filename : Isang string na kumakatawan sa pangalan ng file at landas nito.

Halimbawa:


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

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

GetFileLen

Ang builtin FileLen Ibinabalik ng basic function ang bilang ng mga byte na nakapaloob sa isang file bilang a Mahaba halaga, ibig sabihin, hanggang 2GB.

Ang GetFileLen paraan ay maaaring hawakan ang mga file na may mas malalaking sukat sa pamamagitan ng pagbabalik ng a Pera halaga.

Syntax:

svc.GetFileLen(filename: str): num

Mga Parameter:

filename : Isang string na kumakatawan sa isang umiiral na file.

Halimbawa:

Sa Basic

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

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

GetFileModified

Ibinabalik ang huling binagong petsa ng isang naibigay na file.

Syntax:

svc.GetFileModified(filename: str): datetime

Mga Parameter:

filename : Isang string na kumakatawan sa isang umiiral na file.

Halimbawa:

Sa Basic

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

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

GetName

Ibinabalik ang huling bahagi ng isang file o pangalan ng folder sa native na format ng operating system.

Ang pamamaraan ay hindi sinusuri kung ang tinukoy na file o folder ay umiiral.

Syntax:

svc.GetName(filename: str): str

Mga Parameter:

filename : Isang string na kumakatawan sa pangalan ng file at landas nito.

Halimbawa:


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

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

GetParentFolderName

Nagbabalik ng string na naglalaman ng pangalan ng parent folder ng isang tinukoy na file o pangalan ng folder.

Ang pamamaraan ay hindi sinusuri kung ang tinukoy na file o folder ay umiiral.

Syntax:

svc.GetParentFolderName(filename: str): str

Mga Parameter:

filename : Isang string na may pangalan ng file o folder na susuriin.

Halimbawa:


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

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

GetTempName

Nagbabalik ng random na nabuong pansamantalang pangalan ng file na kapaki-pakinabang para sa pagsasagawa ng mga operasyon na nangangailangan ng pansamantalang file.

Bilang default, ang ibinalik na pangalan ng file ay walang extension. Gamitin ang extension parameter upang tukuyin ang extension ng pangalan ng file na bubuuin.

Ang bahagi ng folder ng ibinalik na string ay ang pansamantalang folder ng system.

Ang pamamaraan ay hindi lumikha ng pansamantalang file.

Syntax:

svc.GetTempName(extension: str): str

Mga Parameter:

extension : Ang extension ng pansamantalang pangalan ng file (Default = "").

Halimbawa:

Sa Basic

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

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

HashFile

Ang mga function ng hash ay ginagamit ng ilang cryptographic algorithm, sa mga digital na lagda, mga code ng pagpapatunay ng mensahe, pagtuklas ng pandaraya, mga fingerprint, mga checksum (pagsusuri sa integridad ng mensahe), mga talahanayan ng hash, pag-imbak ng password at marami pa.

Ang HashFile ibinabalik ng pamamaraan ang resulta ng isang hash function, na inilapat sa isang naibigay na file at gamit ang isang tinukoy na algorithm. Ang ibinalik na halaga ay isang string ng mga lower-case na hexadecimal digit.

Ang mga hash algorithm na sinusuportahan ay: MD5 , SHA1 , SHA224 , SHA256 , SHA384 at SHA512 .

Syntax:

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

Mga Parameter:

filename : Isang string na kumakatawan sa isang umiiral na file.

algorithm : Isa sa mga sinusuportahang algorithm.

Halimbawa:


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

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

MoveFile

Naglilipat ng isa o higit pang mga file mula sa isang lokasyon patungo sa isa pa. Nagbabalik totoo kung hindi bababa sa isang file ang inilipat o Mali kung may naganap na error.

Magkakaroon din ng error kung ang pinagmulan Gumagamit ang parameter ng mga wildcard na character at hindi tumutugma sa anumang mga file.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

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

Mga Parameter:

pinagmulan : Maaari itong maging a FileName o NamePattern upang magtalaga ng isa o higit pang mga file na ililipat.

patutunguhan : Kung pinagmulan ay a FileName pagkatapos ang parameter na ito ay nagpapahiwatig ng bagong landas at pangalan ng file ng inilipat na file.

Kung ang operasyon ng paglipat ay nagsasangkot ng maraming mga file, kung gayon patutunguhan dapat ay isang pangalan ng folder. Kung hindi ito umiiral, ito ay nilikha.

Kung pinagmulan at patutunguhan magkaroon ng parehong folder ng magulang, ang pamamaraan ay palitan ang pangalan ng pinagmulan .

Hindi pinapayagan ang mga wildcard na character patutunguhan .

Halimbawa:

Sa mga sumusunod na halimbawa, mga file lang ang inililipat, ang mga subfolder ay hindi.


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

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

MoveFolder

Inilipat ang isa o higit pang mga folder mula sa isang lokasyon patungo sa isa pa. Nagbabalik totoo kung hindi bababa sa isang folder ang inilipat o Mali kung may naganap na error.

Magkakaroon din ng error kung ang pinagmulan Ang parameter ay gumagamit ng mga wildcard na character at hindi tumutugma sa anumang mga folder.

Ang pamamaraan ay hihinto kaagad pagkatapos na makatagpo ng isang error. Hindi bumabalik ang pamamaraan at hindi rin nito ina-undo ang mga pagbabagong ginawa bago nangyari ang error.

Syntax:

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

Mga Parameter:

pinagmulan : Maaari itong maging a Pangalan ng Folder o NamePattern upang magtalaga ng isa o higit pang mga folder na ililipat.

patutunguhan : Kung ang operasyon ng paglipat ay nagsasangkot ng isang folder, kung gayon patutunguhan ay ang pangalan at landas ng inilipat na folder at hindi ito dapat umiral.

Kung maraming folder ang inililipat, kung gayon patutunguhan tumutukoy kung saan nakalagay ang mga folder pinagmulan ililipat sa. Kung patutunguhan ay hindi umiiral, ito ay nilikha.

Hindi pinapayagan ang mga wildcard na character patutunguhan .

Halimbawa:


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

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

Normalize

Nagbabalik ng string na naglalaman ng normalized na pangalan ng path sa pamamagitan ng pag-collapse ng mga paulit-ulit na separator at mga up-level na reference.

Halimbawa, ang mga pangalan ng path A//B , A/B/ , A/./B at A/foo/../B lahat ay normalized sa A/B .

Sa Windows, ang mga forward slash "/" ay kino-convert sa backward slash "\".

note

Ang kasalukuyang halaga ng ari-arian SF_FileSystem.FileNaming ay ginagamit upang matukoy ang notasyon ng filename argumento pati na rin ang format ng ibinalik na string.


Syntax:

svc.Normalize(filename: str): str

Mga Parameter:

filename : isang string na kumakatawan sa isang wastong pangalan ng landas. Maaaring wala ang file o direktoryo na kinakatawan ng argumentong ito.

Halimbawa:

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

Nagbubukas ng file at nagbabalik ng a TextStream bagay na maaaring magamit upang magbasa mula sa, sumulat sa, o magdagdag sa file.

Tandaan na hindi sinusuri ng pamamaraan kung ang ibinigay na file ay talagang isang text file.

Ang pamamaraan ay nagbabalik a Null bagay (sa Basic) o wala (sa Python) kung may naganap na error.

Syntax:

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

Mga Parameter:

filename : Tinutukoy ang file na bubuksan.

iomode : Isinasaad ang input/output mode. Maaari itong isa sa tatlong mga pare-pareho: svc.ForReading (default), svc.ForWriting , o svc.ForAppending .

lumikha : Boolean na halaga na nagpapahiwatig kung ang isang bagong file ay maaaring malikha kung ang tinukoy filename ay hindi umiiral:

encoding : Ang set ng character na gagamitin. Ang default na encoding ay "UTF-8".

Halimbawa:

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

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

PickFile

Nagbubukas ng dialog box para buksan o i-save ang mga file.

Kung ang MAGTIPID mode ay nakatakda at ang piniling file ay umiiral, isang mensahe ng babala ay ipapakita.

Syntax:

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

Mga Parameter:

defaultfile : Ang argument na ito ay isang string na binubuo ng isang folder at pangalan ng file:

mode : Isang string value na maaaring "OPEN" (para sa input file) o "SAVE" (para sa output file). Ang default na halaga ay "OPEN".

salain : Ang extension ng mga file na ipinapakita kapag binuksan ang dialog (default = walang filter).

Halimbawa:

Ang mga halimbawa sa ibaba ay nagbubukas ng isang tagapili ng file gamit ang "txt" na filter na inilapat.


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

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

PickFolder

Nagbubukas ng dialog box para pumili ng folder.

Syntax:

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

Mga Parameter:

defaultfolder : Isang string na naglalaman ng pangalan ng folder na ipapakita kapag binuksan ang dialog (default = ang huling napiling folder).

freetext : Tekstong ipapakita sa dialog (default = "").

Halimbawa:


      ' Basic
      aFolder = FSO.PickFolder("C:\Documents", "Pumili ng folder o pindutin ang Kanselahin")
    

      # Python
      aFolder = fs.PickFolder(r"C:\Documents", "Pumili ng folder o pindutin ang Kanselahin")
    

SubFolders

Nagbabalik ng zero-based na hanay ng mga string na tumutugma sa mga folder na nakaimbak sa isang ibinigay foldername .

Maaaring i-filter ang listahan gamit ang mga wildcard.

Syntax:

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

Mga Parameter:

foldername : Isang string na kumakatawan sa isang folder. Ang folder ay dapat na umiiral. foldername hindi dapat magtalaga ng file.

salain : Isang string na naglalaman ng mga wildcard ("?" at "*") na ilalapat sa magreresultang listahan ng mga folder (default = "").

kasama ang mgasubfolder : Itakda ang argumentong ito sa totoo upang isama ang mga nilalaman ng mga subfolder (Default = Mali ).

Halimbawa:

Sa Basic

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

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

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!