Tento objekt představuje složku (adresář) v souborovém systému serveru. Zprostředkovává přístup k informacím o složce a poskytuje metody pro manipulaci se složkami.
Protože se nejedná a vnitřní objekt ASP, je nutné před jeho použitím získat jeho instanci. Instanci objektu Folder můžeme získat čtyřmi způsoby:
Příklad vytvoření objektu Folder:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Objekt souborového systému
Set objFolder = objFSO.GetFolder("C:\pokus")
'Objekt Folder zastupující složku C:\pokus
V dalším textu budeme předpokládat, že máme instanci objektu Folder pojmenovanou objFolder.
Objekt Folder poskytuje metody pro vykonávání běžných operací nad danou složkou.
Metoda Copy zkopíruje složku a vše, co obsahuje, do jiné zadané složky. Syntaxe je:
objFolder.Copy(cesta[, přepsat])
Parametr cesta určuje umístění, kam se má složka zkopírovat.
Končí-li cesta zpětným lomítkem "\", znamená cesta složku, do níž se má vytvořit kopie původní složky s původním jménem. V opačném případě je parametr považován za úplnou cestu obsahující i nové jméno složky a vytvoří se kopie složky s tímto novým jménem.
Parametr přepsat určuje, zda má být cílová složka přepsána, pokud již existuje.
Při vynechání parametru se použije implicitní hodnota true. Pokud má parametr hodnotu false a cílová složka již existuje, dojde k chybě.
Příklad zkopírování složky slozka1 v kořenové složce disku C pod nový názvem slozka2:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Objekt souborového systému
Set objFolder = objFSO.GetFile("C:\slozka1")
'Objekt Folder zastupující složku C:\slozka1
objFile.Copy("C:\slozka2")
'Zkopírování slozky
Metoda Delete umožňuje smazat prázdnou složku. Tato metoda má nepovinný parametr, který určuje, zda má být složka smazána i v případě, že je určena pouze pro čtení. Pokud parametr neuvedeme, použije se implicitní hodnota false, která znemožní smazání složek určených pouze pro čtení.
Pokud nemá uživatel nastavena práva, umožňující smazání dané složky, způsobí příkaz objFolder.Delete(true) chybu.
Metoda Move slouží k přesunu nebo přejmenování složky. Syntaxe je stejná jako u metody Copy, tedy:
objFolder.Move(cesta[, přepsat])
Končí-li zadaná cesta zpětným lomítkem, je považována za složku, do níž má být daná složka přesunuta. V opačném případě se část cesty za posledním lomítkem použije jako nové jméno složky.
Nepovinný parametr přepsat určuje, zda se má cílová složka (v případě, že již existuje) přepsat.
Příklad přejmenování složky slozka1 v kořenové složce disku C na název slozka2:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Objekt souborového systému
Set objFolder = objFSO.GetFile("C:\slozka1")
'Objekt Folder zastupující složku C:\slozka1
objFolder.Move("C:\slozka2")
'Přejmenování složky
Tato metoda vytvoří a otevře soubor a vrátí objekt TextStream, který slouží pro čtení ze souboru, zápis do souboru nebo přidávání na konec souboru.
Metoda má syntaxi:
objTextStream = objFolder.CreateTextFile(jméno, [přepsat], [unicode])
Parametr jméno určuje, jak se má pojmenovat nově vytvářený soubor.
Nepovinný parametr přepsat určuje, zda má být soubor (pokud již existuje) přepsán. Implicitní hodnota je false.
Parametr unicode určuje, zda má být soubor uložen jako text v kódování Unicode. Implicitní hodnota je false.
Atribut Attributes slouží pro zjištění a nastavování systémových atributů složky.
Celočíselná hodnota atributu může být součet libovolné kombinace následujících hodnot:
| Hodnota | Atribut | Popis | Povolené operace nad atributem |
|---|---|---|---|
| 0 | Normal | Běžný soubor | Žádné |
| 1 | ReadOnly | Soubor pouze pro čtení | Čtení i nastavení |
| 2 | Hidden | Skrytý soubor | Čtení i nastavení |
| 4 | System | Systémový soubor | Čtení i nastavení |
| 8 | Volume | Jméno disku | Čtení |
| 16 | Directory | Adresář (složka) | Čtení |
| 32 | Archive | Změněno od poslední zálohy | Čtení i nastavení |
| 1024 | Alias | Odkaz nebo zástupce | Čtení |
| 2048 | Compressed | Komprimovaný soubor | Čtení |
Hodnota atributu Attributes je určena jako součet hodnot všech atributů, které se týkají dané složky. Každá složka má nastaven atribut Directory. Například skryté složce určené pouze pro čtení bude odpovídat hodnota 19.
Pro zjištění konkrétního bitu se používá operátor And. Pokud bychom chtěli zjistit, zda je daná složka určená pouze pro čtení a skrytá, použili bychom následující kód:
atributy = objFolder.Attributes If (atributy And 19) Then Response.Write "Složka je skrytá a je pouze pro čtení" Else Response.Write "Nejde o skrytou složku určenou pouze pro čtení." End If
Tento atribut vrací datum a čas vytvoření složky.
Tento atribut vrací datum a čas posledního přístupu ke složce.
Tento atribut obsahuje datum a čas poslední modifikace složky.
Tento atribut vrací objekt Drive reprezentující disk, na němž je složka umístěna.
Atribut Files vrací kolekci Files obsahující všechny objekty File pro všechny soubory ve složce (kromě souborů v dalších podsložkách).
Tento atribut má hodnotu true, pokud objekt představuje kořenovou složku. V opačném případě má hodnotu false.
Atribut Name vrací jméno složky. Nastavením hodnoty atributu způsobíme přejmenování složky.
Pokud k přejmenování složky nemáme nastavena práva, dojde k chybě.
Tento atribut vrací objekt Folder, reprezentující nadřazenou složku.
Tento atribut vrací celou cestu ke složce. V cestě se mohou vyskytovat tzv. dlouhé názvy.
Tento atribut vrací krátké jméno složky ve stylu operačního systému MS-DOS. Toto jméno má nejvýše 8 znaků, plus 3 znaky pro příponu (takzvaný formát 8.3). Pro složku NejakaSlozka bude tento atribut nejčastěji obsahovat hodnotu "Nejaka~1". Číslo za vlnovkou se může lišit, pokud bude ve složce více podsložek s jménem, které by se převedlo na stejné krátké jméno.
Tento atribut obsahuje absolutní cestu k složce. Tato cesta obsahuje pouze tzv. krátké názvy složek ve formátu 8.3 popsaném u předchozího atributu.
Atribut Size udává velikost složky v bytech. Do velikosti složky jsou započítány velikosti všech souborů a podsložek dané složky.
Tento atribut vrací kolekci Folders obsahující objekty Folder pro každou podsložku nacházející se v dané složce.
Tento atribut vrací textový popis typu složky, pokud je znám. Atribut může mít například hodnotu "File Folder", "System Folder" nebo "Recycle Bin".
Narozdíl od většiny běžných kolekcí má kolekce Folders pouze dva atributy a žádné metody nebo události.
Kolekci Folders můžeme získat přes atribut SubFolders objektu Folder.
Udává počet podsložek ve složce.
Vrací objekt Folder reprezentující složku se zadaným jménem.
Objekt Folder pro podložku podslozka získáme příkazem:
Set objFolder2 = objFolder.SubFolders.Item("podslozka")