Pomoc LibreOffice 24.8
Usługa FileSystem zawiera procedury do obsługi plików i folderów. Poniżej znajduje się kilka przykładów funkcji udostępnianych przez tę usługę:
Sprawdź, czy plik lub folder istnieje.
Twórz i usuwaj foldery oraz pliki.
Uruchom okna dialogowe, aby otworzyć/zapisać pliki.
Uzyskaj dostęp do listy plików w folderze itp.
Metody w usłudze FileSystem opierają się głównie na interfejsie UNO XSimpleFileAccess.
Poniższa tabela zawiera listę głównych parametrów używanych przez większość metod usługi FileSystem.
| Parametr | Opis | 
|---|---|
| FileName | Pełna nazwa pliku, łącznie ze ścieżką bez separatora ścieżki na końcu. | 
| FolderName | Pełna nazwa folderu wraz ze ścieżką. Może zawierać końcowy separator ścieżki lub nie. | 
| Name | Ostatni składnik Nazwa folderu lub Nazwa pliku łącznie z jego rozszerzeniem. Ten parametr jest zawsze wyrażany przy użyciu natywnego formatu systemu operacyjnego. | 
| BaseName | Ostatni składnik Nazwy folderu lub Nazwy pliku bez rozszerzenia. | 
| NamePattern | Dowolna z powyższych nazw zawierająca w ostatnim elemencie symbole wieloznaczne. Dozwolone symbole wieloznaczne to: 
 | 
Usługa FileSystem umożliwia wykonywanie operacji na wielu plikach jednocześnie. Używając wzorców nazw, skrypty użytkownika mogą kopiować, przenosić lub usuwać wiele plików. I odwrotnie, metody wbudowane Basic mogą obsługiwać tylko pojedyncze pliki.
Notacja używana do wyrażania nazw plików i folderów, zarówno jako argumentów, jak i zwracanych wartości, jest definiowana przez właściwość FileNaming usługi FileSystem.
Krótko mówiąc, możliwe typy reprezentacji to „URL” (notacja pliku URL), „SYS” (notacja systemu operacyjnego) i „ANY” (domyślnie). Więcej informacji znajdziesz poniżej.
Przykładem zapisu adresu URL jest file:///C:/Documents/my_file.odt. Jeśli to możliwe, rozważ użycie zapisu adresu URL, ponieważ jest to bardziej przenośna alternatywa.
Użycie skrótu „~” (tylda), które jest powszechne w systemach operacyjnych opartych na systemie Linux, nie jest obsługiwane w celu wyrażenia ścieżki do folderu i nazwy pliku. Zamiast używać „~/Documents/my_file.odt” użyj pełnej ścieżki „/home/user/Documents/my_file.odt”.
Poniższy fragment kodu wywołuje usługę FileSystem. Jako przykład wykorzystano metodę BuildPath.
      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim FSO As Object
      Set FSO = CreateScriptService("FileSystem")
      FSO.BuildPath(...)
    
      from scriptforge import CreateScriptService
      fs = CreateScriptService("FileSystem")
      fs.BuildPath(...)
    Pliki dokumentów LibreOffice to skompresowane pliki ZIP zawierające pliki i foldery reprezentujące rzeczywistą zawartość dokumentu. Gdy dokument jest otwarty, można uzyskać dostęp do tego wirtualnego systemu plików, poznać jego strukturę, a także czytać i tworzyć pliki oraz foldery.
Poniższy przykład pokazuje, jak utworzyć plik tekstowy o nazwie myFile.txt i zapisać go w wirtualnym systemie plików dokumentu.
    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)
    ' Pobiera notację ścieżki URL do katalogu głównego wirtualnego systemu plików
    sRoot = oDoc.FileSystem()
    sMyDir = sRoot & "myDir"
    ' Tworzy folder „myDir”, jeśli nie istnieje
    If Not fso.FolderExists(sMyDir) Then
        fso.CreateFolder(sMyDir)
    End If
    ' Tworzy plik i zapisuje w nim trochę tekstu
    sFile = fso.BuildPath(sMyDir, "myFile.txt")
    oFile = fso.CreateTextFile(sFile)
    oFile.WriteLine("Hello!")
    oFile.CloseFile()
  
    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()
  Ogólnie rzecz biorąc, wszystkie metody usługi FileSystem mogą być używane do manipulowania plikami w wirtualnym systemie plików dokumentu. Obowiązują jednak następujące ograniczenia:
Nie można tworzyć plików w folderze głównym. Użyj istniejących podfolderów lub utwórz nowe foldery do przechowywania plików w systemie plików dokumentu.
Notacja FileNaming jest zawsze uważana za „URL”.
Metody CompareFiles, GetFileModified, HashFile, PickFile i PickFolder nie mają zastosowania.
Metoda GetFileLen zawsze zwraca zero.
Metoda Normalize zawsze zwraca ciąg wejściowy w niezmienionej postaci.
Ścieżka do wirtualnego systemu plików nie jest adresem fizycznym na dysku twardym komputera. Dostęp do niego można uzyskać wyłącznie ze skryptu LibreOffice i istnieje on tylko wtedy, gdy plik dokumentu jest otwarty.
| Nazwa | Tylko do odczytu | Typ | Opis | 
|---|---|---|---|
| FileNaming | Nie | String | Ustawia lub zwraca bieżącą notację plików i folderów "ANY", "URL" lub "SYS": 
 Raz ustawiona właściwość FileNaming pozostaje niezmieniona do końca sesji LibreOffice lub do ponownego ustawienia. | 
| ConfigFolder | Tak | String | Zwraca folder konfiguracyjny LibreOffice. | 
| ExtensionsFolder | Tak | String | Zwraca folder, w którym zainstalowane są rozszerzenia. | 
| HomeFolder | Tak | String | Zwraca folder domowy użytkownika. | 
| InstallFolder | Tak | String | Zwraca folder instalacyjny LibreOffice. | 
| TemplatesFolder | Tak | String | Zwraca folder zawierający pliki szablonów systemowych. | 
| TemporaryFolder | Tak | String | Zwraca folder plików tymczasowych zdefiniowany w ustawieniach ścieżki LibreOffice. | 
| UserTemplatesFolder | Tak | String | Zwraca folder zawierający pliki niestandardowych szablonów dokumentów. | 
Łączy ścieżkę folderu z nazwą pliku i zwraca pełną nazwę pliku z prawidłowym separatorem ścieżki. Separator ścieżki jest dodawany tylko w razie potrzeby.
svc.BuildPath(foldername: str, name: str): str
foldername: ścieżka, z którą name zostanie połączony. Określona ścieżka nie musi być istniejącym folderem.
name: nazwa pliku, który ma zostać dołączony do foldername. Ten parametr wykorzystuje notację bieżącego systemu operacyjnego.
      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
    
      fs = CreateScriptService("FileSystem")
      fs.FileNaming = "URL"
      aFileName = fs.BuildPath("file:///home/user", "sample file.odt")
      # file:///home/user/sample%20file.odt
    Porównuje dwa pliki i zwraca wartość True, gdy wydają się identyczne.
W zależności od wartości argumentu comparecontents porównanie obu plików może opierać się wyłącznie na atrybutach pliku (takich jak data ostatniej modyfikacji) lub na podstawie zawartości pliku.
svc.CompareFiles(filename1: str, filename2: str, comparecontents: bool = False): bool
filename1, filename2: pliki do porównania.
comparecontents: Gdy True, porównywana jest zawartość plików (domyślnie = False).
      FSO.FileNaming = "SYS"
      If FSO.CompareFiles("C:\myFile1.txt", "C:\myFile2.txt", CompareContents := False) Then
          ' ...
      End If
    
      fs.FileNaming = "SYS"
      if fs.CompareFiles(r"C:\myFile1.txt", r"C:\myFile2.txt", comparecontents = False):
          # ...
    Kopiuje jeden lub więcej plików z jednej lokalizacji do drugiej. Zwraca wartość True, jeśli co najmniej jeden plik został skopiowany, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr source używa znaków wieloznacznych i nie pasuje do żadnego pliku.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.CopyFile(source: str, destination: str, overwrite: bool = True): bool
source: może to być FileName lub NamePattern wskazujący jeden lub więcej plików do skopiowania.
destination: może to być FileName określający, gdzie ma zostać skopiowany pojedynczy plik source, lub FolderName, do którego ma zostać skopiowanych wiele plików z source.
Jeśli destination nie istnieje, zostanie utworzone.
Znaki wieloznaczne nie są dozwolone w destination.
overwrite: jeśli True (domyślnie), pliki mogą zostać nadpisane. Metoda nie powiedzie się, jeśli destination jest tylko do odczytu, niezależnie od wartości określonej w overwrite.
W poniższych przykładach pierwszy wiersz kopiuje pojedynczy plik, podczas gdy drugi wiersz kopiuje wiele plików za pomocą symboli wieloznacznych.
      FSO.CopyFile("C:\Documents\my_file.odt", "C:\Temp\copied_file.odt")
      FSO.CopyFile("C:\Documents\*.*", "C:\Temp\", Overwrite := False)
    
      fs.CopyFile(r"C:\Documents\my_file.odt", r"C:\Temp\copied_file.odt")
      fs.CopyFile(r"C:\Documents\*.*", r"C:\Temp", overwrite = False)
    Należy pamiętać, że podfoldery i ich zawartość nie są kopiowane, jeśli w argumencie source użyto symboli wieloznacznych.
Kopiuje jeden lub więcej folderów z jednej lokalizacji do drugiej. Zwraca wartość True, jeśli skopiowano co najmniej jeden folder, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr source używa znaków wieloznacznych i nie pasuje do żadnego folderu.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.CopyFolder(source: str, destination: str, overwrite: bool = True): bool
source: może to być FolderName lub NamePattern wskazujący jeden lub więcej folderów do skopiowania.
destination: określa FolderName, do którego mają zostać skopiowane jeden lub wiele folderów zdefiniowanych w source.
Jeśli destination nie istnieje, zostanie utworzone.
Znaki wieloznaczne nie są dozwolone w destination.
overwrite: jeśli True (domyślnie), pliki mogą zostać nadpisane. Metoda nie powiedzie się, jeśli destination jest tylko do odczytu, niezależnie od wartości określonej w overwrite.
W poniższych przykładach kopiowane są wszystkie pliki, foldery i podfoldery.
      ' Basic
      FSO.CopyFolder("C:\Documents\*", "C:\Temp\", Overwrite := False)
    
      # Python
      fs.CopyFolder(r"C:\Documents\*", r"C:\Temp", overwrite = False)
    Tworzy określony FolderName. Zwraca True, jeśli folder mógł zostać pomyślnie utworzony.
Jeśli określony folder ma folder nadrzędny, który nie istnieje, zostanie on utworzony.
svc.CreateFolder(foldername: str): bool
foldername: ciąg reprezentujący folder, który ma zostać utworzony. Jeśli folder już istnieje, zostanie zgłoszony wyjątek.
      ' Basic
      FSO.CreateFolder("C:\NewFolder")
    
      # Python
      fs.CreateFolder(r"C:\NewFolder")
    Tworzy określony plik i zwraca instancję usługi TextStream, która może być użyta do zapisu w pliku.
Metoda zwraca obiekt Null, jeśli wystąpił błąd.
svc.CreateTextFile(filename: str, overwrite: bool = True, encoding: str = 'UTF-8'): svc
filename: nazwa pliku, który ma zostać utworzony.
overwrite: wartość logiczna określająca, czy filename może zostać nadpisana (domyślnie = True).
encoding: zestaw znaków, który ma być używany. Domyślne kodowanie to „UTF-8”.
      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.CreateTextFile("C:\Temp\ThisFile.txt", Overwrite := True)
    
      fs.FileNaming = "SYS"
      myFile = fs.CreateTextFile(r"C:\Temp\ThisFile.txt", overwrite = True)
    Aby dowiedzieć się więcej o nazwach zestawów znaków, odwiedź stronę Zestaw znaków IANA. Należy pamiętać, że LibreOffice nie implementuje wszystkich istniejących zestawów znaków.
Usuwa jeden lub więcej plików. Zwraca True, jeśli co najmniej jeden plik został usunięty, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr filename używa znaków wieloznacznych i nie pasuje do żadnego pliku.
Pliki przeznaczone do usunięcia nie mogą być przeznaczone tylko do odczytu.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.DeleteFile(filename: str): bool
filename: może to być FileName lub NamePattern wskazująca jeden lub więcej plików do usunięcia.
W poniższych przykładach usuwane są tylko pliki, podfoldery nie są usuwane.
      ' Basic
      FSO.DeleteFile("C:\Temp\*.docx")
    
      # Python
      fs.DeleteFile(r"C:\Temp\*.docx")
    Usuwa jeden lub więcej folderów. Zwraca wartość True, jeśli co najmniej jeden folder został usunięty, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr foldername używa znaków wieloznacznych i nie pasuje do żadnego folderu.
Foldery, które mają zostać usunięte, nie mogą być przeznaczone tylko do odczytu.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.DeleteFolder(foldername: str): bool
foldername: może to być FolderName lub NamePattern wskazujący jeden lub więcej folderów do usunięcia.
W poniższych przykładach usuwane są tylko foldery i ich zawartość. Pliki w folderze nadrzędnym „C:\Temp” nie są usuwane.
      ' Basic
      FSO.DeleteFolder("C:\Temp\*")
    
      # Python
      fs.DeleteFolder(r"C:\Temp\*")
    Zwraca ciąg znaków zawierający folder, w którym jest zainstalowany określony pakiet rozszerzeń.
Bieżąca wartość właściwości SF_FileSystem.FileNaming służy do określenia zapisu zwracanego ciągu.
Użyj właściwości Rozszerzenia z usługi Platform, aby uzyskać tablicę ciągów z identyfikatorami wszystkich zainstalowanych rozszerzeń.
svc.ExtensionFolder(extension: str): str
extension: wartość ciągu z identyfikatorem rozszerzenia. Jeśli rozszerzenie nie jest zainstalowane, zgłaszany jest wyjątek.
Poniższe przykłady w języku Basic i Python zwracają folder, w którym zainstalowane jest rozszerzenie APSO.
      ' 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")
    Zwraca True, jeśli dana nazwa pliku jest poprawna i istnieje, w przeciwnym razie metoda zwraca False.
Jeśli parametr filename jest w rzeczywistości nazwą istniejącego folderu, metoda zwraca wartość False.
svc.FileExists(filename: str): bool
filename: ciąg reprezentujący plik do przetestowania.
      FSO.FileNaming = "SYS"
      If FSO.FileExists("C:\Documents\my_file.odt") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FileExists(r"C:\Documents\my_file.odt"):
          # ...
    Zwraca tablicę liczoną od zera zawierającą pliki przechowywane w danym folderze. Każdy wpis w tablicy jest ciągiem znaków zawierającym pełną ścieżkę i nazwę pliku.
Jeśli argument foldername określa folder, który nie istnieje, zgłaszany jest wyjątek.
Otrzymaną listę można filtrować za pomocą symboli wieloznacznych.
svc.Files(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername: ciąg reprezentujący folder. Folder musi istnieć. Argument ten nie może oznaczać pliku.
filter: ciąg znaków zawierający symbole wieloznaczne ("?" i "*"), który zostanie zastosowany do wynikowej listy plików (domyślnie = "").
includesubfolders: ustaw ten argument na True, aby uwzględnić zawartość podfolderów (domyślnie = False).
      Dim filesList As Variant, file As String
      FSO.FileNaming = "SYS"
      ' Zwraca wszystkie pliki pasujące do filtra "*.txt", łącznie z plikami w podfolderach
      filesList = FSO.Files("/home/user/", "*.txt", IncludeSubfolders := True)
      For Each file In filesList
          ' ...
      Next file
    
      fs.FileNaming = "SYS"
      filesList = fs.Files("/home/user/", "*.txt", includesubfolders = True)
      for file in fileList:
          # ...
    Zwraca True, jeśli określona FolderName jest poprawna i istnieje, w przeciwnym razie metoda zwraca False.
Jeśli parametr foldername jest w rzeczywistości istniejącą nazwą pliku, metoda zwraca wartość False.
svc.FolderExists(foldername: str): bool
foldername: ciąg reprezentujący folder, który ma zostać przetestowany.
      FSO.FileNaming = "SYS"
      If FSO.FolderExists("C:\Documents\Thesis") Then
          '...
      End If
    
      fs.FileNaming = "SYS"
      if fs.FolderExists(r"C:\Documents\Thesis")
          # ...
    Zwraca BaseName (równą ostatniemu składnikowi) nazwy folderu lub pliku, bez jego rozszerzenia.
Metoda nie sprawdza, czy określony plik lub folder istnieje.
svc.GetBaseName(filename: str): str
filename: ciąg reprezentujący nazwę pliku i jego ścieżkę.
W poniższych przykładach pierwsze wywołanie metody GetBaseName odpowiada folderowi, więc funkcja zwraca ostatni składnik ścieżki. Drugie wywołanie jako dane wejściowe otrzymuje nazwę pliku, więc zwracana jest nazwa pliku bez rozszerzenia.
      MsgBox FSO.GetBaseName("/home/user/Documents") ' "Documents"
      MsgBox FSO.GetBaseName("/home/user/Documents/my_file.ods") ' "my_file"
    
      bas = CreateScriptService("Basic")
      bas.MsgBox(fs.GetBaseName("/home/user/Documents")) # "Documents"
      bas.MsgBox(fs.GetBaseName("/home/user/Documents/my_file.ods")) # "my_file"
    Zwraca część rozszerzenia nazwy pliku lub folderu bez znaku kropki ".".
Metoda nie sprawdza istnienia określonego pliku lub folderu.
Jeśli tę metodę zastosuje się do nazwy folderu lub pliku bez rozszerzenia, zwracany jest pusty ciąg znaków.
svc.GetExtension(filename: str): str
filename: ciąg reprezentujący nazwę pliku i jego ścieżkę.
      ' Basic
      ext = FSO.GetExtension("C:\Windows\Notepad.exe")  ' "exe"
    
      # Python
      ext = fs.GetExtension(r"C:\Windows\Notepad.exe")  # "exe"
    Wbudowana funkcja Basic FileLen zwraca liczbę bajtów zawartych w pliku jako wartość Long, czyli do 2 GB.
Metoda GetFileLen może obsłużyć pliki o znacznie większych rozmiarach, zwracając wartość Currency.
svc.GetFileLen(filename: str): num
filename: ciąg reprezentujący istniejący plik.
      Dim fLen As Currency
      FSO.FileNaming = "SYS"
      fLen = FSO.GetFileLen("C:\pagefile.sys")
    
      fs.FileNaming = "SYS"
      fLen = fs.GetFileLen(r"C:\pagefile.sys")
    Zwraca datę ostatniej modyfikacji danego pliku.
svc.GetFileModified(filename: str): datetime
filename: ciąg reprezentujący istniejący plik.
      Dim aDate As Date
      FSO.FileNaming = "SYS"
      aDate = FSO.GetFileModified("C:\Documents\my_file.odt")
    
      fs.FileNaming = "SYS"
      aDate = FSO.GetFileModified(r"C:\Documents\my_file.odt")
    Zwraca ostatni składnik nazwy pliku lub folderu w natywnym formacie systemu operacyjnego.
Metoda nie sprawdza, czy określony plik lub folder istnieje.
svc.GetName(filename: str): str
filename: ciąg reprezentujący nazwę pliku i jego ścieżkę.
      ' Basic
      a = FSO.GetName("C:\Windows\Notepad.exe")  ' Notepad.exe
    
      # Python
      a = fs.GetName(r"C:\Windows\Notepad.exe")  # Notepad.exe
    Zwraca ciąg zawierający nazwę folderu nadrzędnego dla określonego pliku lub nazwy folderu.
Metoda nie sprawdza, czy określony plik lub folder istnieje.
svc.GetParentFolderName(filename: str): str
filename: ciąg znaków zawierający nazwę pliku lub folderu, który ma być analizowany.
      ' Basic
      a = FSO.GetParentFolderName("C:\Windows\Notepad.exe")  ' C:\Windows\
    
      # Python
      a = fs.GetParentFolderName(r"C:\Windows\Notepad.exe")  # C:\Windows\
    Zwraca losowo wygenerowaną nazwę pliku tymczasowego, która jest przydatna do wykonywania operacji wymagających pliku tymczasowego.
Domyślnie zwrócona nazwa pliku nie ma rozszerzenia. Użyj parametru extension, aby określić rozszerzenie nazwy pliku, który ma zostać wygenerowany.
Część folderu zwróconego ciągu jest folderem tymczasowym systemu.
Metoda nie tworzy pliku tymczasowego.
svc.GetTempName(extension: str): str
extension: rozszerzenie nazwy pliku tymczasowego (domyślnie = "").
      Dim fName As String
      FSO.FileNaming = "SYS"
      fName = FSO.GetTempName(Extension := "txt")
      ' "/tmp/SF_574068.txt"
    
      fs.FileNaming = "SYS"
      fName = FSO.GetTempName(extension = "txt")
      # "/tmp/SF_574068.txt"
    Funkcje skrótu są wykorzystywane przez niektóre algorytmy kryptograficzne w podpisach cyfrowych, kodach uwierzytelniających wiadomości, wykrywaniu oszustw, odciskach palców, sumach kontrolnych (sprawdzanie integralności wiadomości), tabelach skrótów, przechowywaniu haseł i wielu innych.
Metoda HashFile zwraca wynik funkcji skrótu zastosowanej do danego pliku i przy użyciu określonego algorytmu. Zwracana wartość jest ciągiem małych cyfr szesnastkowych.
Obsługiwane algorytmy mieszające to: MD5, SHA1, SHA224, SHA256, SHA384 i SHA512.
svc.HashFile(filename: str, algorithm: str): str
filename: ciąg reprezentujący istniejący plik.
algorithm: jeden z obsługiwanych algorytmów.
      ' Basic
      sHash = FSO.HashFile("C:\pagefile.sys", "MD5")
    
      # Python
      sHash = FSO.HashFile(r"C:\pagefile.sys", "MD5")
    Przenosi jeden lub więcej plików z jednej lokalizacji do drugiej. Zwraca True, jeśli co najmniej jeden plik został przeniesiony, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr source używa znaków wieloznacznych i nie pasuje do żadnego pliku.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.MoveFile(source: str, destination: str): bool
source: może to być FileName lub NamePattern, aby wyznaczyć jeden lub więcej plików do przeniesienia.
destination: jeśli source jest FileName, wówczas ten parametr wskazuje nową ścieżkę i nazwę przenoszonego pliku.
Jeśli operacja przenoszenia obejmuje wiele plików, wówczas destination musi być nazwą folderu. Jeśli czegoś nie ma, zostaje on stworzony.
Jeśli source i destination mają ten sam folder nadrzędny, metoda zmieni nazwę source.
Znaki wieloznaczne nie są dozwolone w destination.
W poniższych przykładach przenoszone są tylko pliki, podfoldery nie.
      ' Basic
      FSO.MoveFile("C:\Temp1\*.*", "C:\Temp2")
    
      # Python
      fs.MoveFile(r"C:\Temp1\*.*", r"C:\Temp2")
    Przenosi jeden lub więcej folderów z jednej lokalizacji do drugiej. Zwraca wartość True, jeśli co najmniej jeden folder został przeniesiony, lub False, jeśli wystąpił błąd.
Błąd wystąpi również, jeśli parametr source używa znaków wieloznacznych i nie pasuje do żadnego folderu.
Metoda zatrzymuje się natychmiast po napotkaniu błędu. Metoda nie wycofuje zmian ani nie cofa zmian wprowadzonych przed wystąpieniem błędu.
svc.MoveFolder(source: str, destination: str): bool
source: może to być FolderName lub NamePattern, aby wyznaczyć jeden lub więcej folderów do przeniesienia.
destination: jeśli operacja przenoszenia dotyczy pojedynczego folderu, wówczas destination to nazwa i ścieżka przenoszonego folderu, który nie może istnieć.
Jeśli przenoszonych jest wiele folderów, destination wyznacza miejsce, do którego zostaną przeniesione foldery z source. Jeśli destination nie istnieje, zostanie utworzone.
Znaki wieloznaczne nie są dozwolone w destination.
      ' Basic
      FSO.MoveFolder("C:\Temp1\*", "C:\Temp2")
    
      # Python
      fs.MoveFolder(r"C:\Temp1\*", r"C:\Temp2")
    Zwraca ciąg zawierający znormalizowaną nazwę ścieżki poprzez zwinięcie zbędnych separatorów i odwołań wyższego poziomu.
Na przykład nazwy ścieżek A//B, A/B/, A/./B i A/foo/../B są znormalizowane do A/B.
W systemie Windows ukośniki "/" są konwertowane na ukośniki wsteczne "\".
Bieżąca wartość właściwości SF_FileSystem.FileNaming służy do określenia zapisu argumentu filename oraz formatu zwracanego ciągu.
svc.Normalize(filename: str): str
filename: ciąg znaków reprezentujący prawidłową nazwę ścieżki. Plik lub katalog reprezentowany przez ten argument może nie istnieć.
    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/../")
  
    fs.FileNaming = "URL"
    normPath = fs.Normalize("file:///home/user/Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/")
    normPath = fs.Normalize("file:///home//user//Documents/../")
  Otwiera plik i zwraca obiekt TextStream, który można użyć do odczytu, zapisu lub dołączenia do pliku.
Należy pamiętać, że metoda nie sprawdza, czy podany plik jest rzeczywiście plikiem tekstowym.
Metoda zwraca obiekt Null (w języku Basic) lub None (w języku Python), jeśli wystąpił błąd.
svc.OpenTextFile(filename: str, iomode: int = 1, create: bool = False, encoding: str = 'UTF-8'): svc
filename: identyfikuje plik do otwarcia.
iomode: wskazuje tryb wejścia/wyjścia. Może to być jedna z trzech stałych: svc.ForReading (domyślna), svc.ForWriting lub svc.ForAppending.
create: wartość logiczna wskazująca, czy można utworzyć nowy plik, jeśli określona filename nie istnieje:
Jeśli True, zostanie utworzony nowy plik i jego foldery nadrzędne, jeśli nie istnieją.
Jeśli False to nowe pliki nie są tworzone (domyślnie).
encoding: zestaw znaków, który ma być używany. Domyślne kodowanie to „UTF-8”.
      Dim myFile As Object
      FSO.FileNaming = "SYS"
      Set myFile = FSO.OpenTextFile("C:\Temp\ThisFile.txt", FSO.ForReading)
      If Not IsNull(myFile) Then
          ' ...
      End If
    
      fs.FileNaming = "SYS"
      myFile = fs.OpenTextFile(r"C:\Temp\ThisFile.txt", fs.ForReading)
      if myFile is not None:
          # ...
    Otwiera okno dialogowe umożliwiające otwarcie lub zapisanie plików.
Jeżeli ustawiony jest tryb SAVE i wybrany plik istnieje, zostanie wyświetlony komunikat ostrzegawczy.
svc.PickFile(defaultfile: str ='', mode: str = 'OPEN', filter: str = ''): str
defaultfile: ten argument jest ciągiem znaków składającym się z folderu i nazwy pliku:
Część folderu wskazuje folder, który zostanie wyświetlony po otwarciu okna dialogowego (domyślnie = ostatnio wybrany folder).
Część plikowa wyznacza domyślny plik do otwarcia lub zapisania.
mode: wartość ciągu, która może mieć wartość "OPEN" (dla plików wejściowych) lub "SAVE" (dla plików wyjściowych). Wartość domyślna to "OPEN".
filter: rozszerzenie plików wyświetlane po otwarciu okna dialogowego (domyślnie = brak filtra).
Poniższe przykłady otwierają selektor plików z zastosowanym filtrem „txt”.
      ' Basic
      aFile = FSO.PickFile("C:\Documents", "OPEN", "txt")
    
      # Python
      aFile = fs.PickFile(r"C:\Documents", "OPEN", "txt")
    Otwiera okno dialogowe umożliwiające wybranie folderu.
svc.PickFolder(defaultfolder: str = '', freetext: str = ''): str
defaultfolder: ciąg zawierający nazwę folderu, który zostanie wyświetlony po otwarciu okna dialogowego (domyślnie = ostatnio wybrany folder).
freetext: tekst wyświetlany w oknie dialogowym (domyślnie = "").
      ' Basic
      aFolder = FSO.PickFolder("C:\Dokumenty", "Wybierz folder lub naciśnij Anuluj")
    
      # Python
      aFolder = fs.PickFolder(r"C:\Dokumenty", "Wybierz folder lub naciśnij Anuluj")
    Zwraca tablicę ciągów znaków liczoną od zera odpowiadającą folderom przechowywanym w danej foldername.
Listę można filtrować za pomocą symboli wieloznacznych.
svc.SubFolders(foldername: str, filter: str = '', includesubfolders: bool = False): str[0..*]
foldername: ciąg znaków reprezentujący folder. Folder musi istnieć. foldername nie może oznaczać pliku.
filter: ciąg znaków zawierający symbole wieloznaczne ("?" and "*"), który zostanie zastosowany do wynikowej listy folderów (domyślnie = "").
includesubfolders: ustaw ten argument na True, aby uwzględnić zawartość podfolderów (domyślnie = False).
      Dim folderList As Variant, folder As String
      FSO.FileNaming = "SYS"
      folderList = FSO.SubFolders("/home/user/")
      For Each folder In folderList
          ' ...
      Next folder
    
      fs.FileNaming = "SYS"
      folderList = fs.SubFolders("/home/user/")
      for folder in folderList:
          # ...