Protect
| Formát: | PROTECT [FILE] <soubor|maska> [FLAGS] [+|-] [<příznaky>] [ADD|SUB] [ALL] [QUIET] [GROUP] [OTHER] [CLONE] [CLEAR] [FILES] [DIRS] |
| Šablona: | FILE/A, FLAGS, ADD/S, SUB/S, ALL/S, QUIET/S, USER/S, GROUP/S, OTHER/S, CLONE/S, CLEAR/S, FILES/S, DIRS/S |
| Účel: | Mění stavové bity souboru |
| Cesta: | C:PROTECT |
Tímto příkazem se mění stavové bity souborů. Každý soubor je opatřen sadou bitů, které určují, co s ním lze dělat a co ne. Příkaz PROTECT může hodnoty těchto bitů měnit.
AmigaDOS používá následující stavové bity (je jich celkem osm):
| Stavové bity | Popis |
|---|---|
| r | Soubor je možno číst. |
| w | Do souboru je možno zapisovat. |
| e | Soubor je spustitelný (tedy program). |
| d | Soubor lze smazat. |
| h | Rezervováno pro budoucí verze systému. |
| s | Soubor je dávkový soubor. |
| p | Soubor lze bez problémů učinit rezidentním. |
| a | Soubor byl archivován. |
Stavové bity mohu samozřejmě mít jen dvě hodnoty - 0 (smazané) a 1 (nastavené). Příkazem LIST můžete stavové bity souboru zobrazit. Nastavené bity se zobrazí jako písmena, smazané jako pomlčky.
Příkaz PROTECT také pracuje s těmito písmeny. Když v argumentu FLAGS zadáte písmena bitů, budou tyto bity nastaveny, všechny nezadané bity se smažou. Samotné klíčové slovo FLAGS můžete vypustit. Takto nastavíte najednou celou stavovou bitovou masku.
Druhou možnosti je změna jednotlivých bitů. Když před písmeno bitu napíšete znaménko plus (+), bude bit nastaven, znaménko mínus (-) jej vymaže. Ostatní bity to nijak nezmění. Mezi znaménkem a písmenem bitu nesmí být mezera.
Místo znamének plus a mínus můžete použít klíčová slova ADD a SUB - zde naopak mezi klíčovým slovem a písmenem bitu musí být mezera.
V jednom příkazu PROTECT nemůžete bity současně mazat a nastavovat.
Jinou možností je použít znakovou masku, pak příkaz změní bity všech vyhovujících souborů. Normálně se při změně bitů více souborů jednotlivé soubory vypisují, ale volbou QUIET můžete tento výpis potlačit.
Parametry
| ALL | Smaže nebo nastaví zadané stavové bity ve všech souborech zadaného adresáře a podadresářů. |
| QUIET | Nebude zobrazovat zprávy o postupu. Místní proměnná _Verbosity se zápornou hodnotou má stejný účinek. |
| USER | Upraví pouze "uživatelské" stavové bity (výchozí). |
| GROUP | Upraví pouze "skupinové" stavové bity. |
| OTHER | Upraví pouze "ostatní" stavové bity. |
| CLONE | Změní "skupinové" a nebo „ostatní“ stavové bityna stejnou hodnotu jako mají stavové bity ze skupiny „uživatelské“. Vyžaduje použití alespoň jedné z voleb USER a GROUP a nejsou zadávány žádné stavové bity. |
| CLEAR | Vymaže všechny stavové bity. |
| FILES | Změní stavové bity pouze u souborů. |
| DIRS | Změní stavové bity pouze u adresářů. |
Poznámka: Volby FILES a DIRS pracují společně. Pokud použíjete jen volbu FILES a vynecháváte DIRS, budou ovlivněny pouze soubory a naopak. Pokud není použita volba FILES ani DIRS, budou změneny všechny stavové bity jak u souborů, tak i adresářů. Od verze 51.9 neumožňuje příkaz PROTECT nastavit stavový bit h, s a b pro adresáře. Pro soubory:
- Nastavení stavového bitu "h" je možné pouze v případě, že není nastaven bit "s" a jsou nastaveny bity "p", "e" a "r".
- Nastavení stavového bitu "p" je možné pouze v případě, že není nastaven bit "s" a jsou nastaveny bity "e" a "r".
- Nastavení stavového bitů "s" je možné pouze v případě, že je nastaven bit "r".
- Nastavení stavového bitů "e" je možné pouze v případě, že je nastaven bit "r".
- Nastavení "skupinového" stavového bitu "e" je možné pouze v případě, že je nastaven "skupinový" stavový bit "r".
- Nastavení "ostatního" stavového bitu "e" je možné pouze v případě, že je nastaven "ostatní" stavový bit "r".
Příklady
| 1> PROTECT DF0:Memo +rw |
Nastaví pouze stavové bity "r" (čitelné) a "w" (zapisovatelné) pro soubor Memo na DF0:. Žádné další ochranné bity se nezmění.
| 1> PROTECT L:#? e SUB |
Vymaže stavový bit "e" (spustitelný) ze všech souborů v adresáři L:.
| 1> PROTECT Work:Paint rwed |
Stavové bity programu Paint se změní na „----rwed“.
| 1> PROTECT Work:Write CLONE GROUP OTHER |
"Skupinové" a "ostatní" stavové bity souboru Write se stánou kopií "uživatelských" stavových bitů.
| 1> PROTECT Work:Save CLEAR |
Vymažte všechny stavové bity souboru Save.



