Wuwejův zápisník

Jak zálohovat ve Windows 2

03.01.2006 20:41, Wu | počítače | komentáře -

Když jsem psal o zálohování ve Windows, za pomoci nástrojů příkazové řádky, chtěl jsem výsledný archiv pojmenovat s použitím aktuálního data. Jenže jsem nevěděl, jak dostat výstup příkazu date do proměnné... A teď už to vím a proto se podělím.

Dá se k tomu použít příkaz for; mimo jiné umí parsování dat (přepínač /f), přičemž data mohou být soubor (zapsána cesta), text (zapsán v uvozovkách) a - pozor - výstup příkazu (zapsán v apostrofech). V našem případě potřebujeme aktuální čas, což je příkaz 'date /t'. Výstup je závislý na zvolených národních zvyklostech v systému, na českých windows to bude zkratka dne v týdnu + mezera + datum v českém formátu, např. "út 03.01.2006". Kýžený stav pro pojmenování zálohovaného archivu je, alespoň v mém případě, "zaloha_2006_01_03.zip", tedy nejdříve rok, pak měsíc a nakonec den, ono se to pak lépe třídí v adresáři. Takže potřebujeme výstup příkazu date rozsekat na den, měsíc a rok a jméno z těchto částí opět sestavit. Zařídí to následující kód (vypíše jméno archivu na obrazovku, do minulých skriptů to jistě vložit dokážete sami):

for /f "tokens=1-4 delims=. " %%a in ('date/t') do (
set day=%%b
set month=%%c
set year=%%d
)
echo zaloha_%year%_%month%_%day%.zip
pause

Ješte vysvětlení k for příkazu: použitý formát je for /f "nastavení" %%proměnná in('příkaz') do, přičemž nastavení obsahuje:

  • delims - seznam znaků, které poslouží k rozsekání dat, v našm případě je to mezera a tečka. Díky tomu se data rozdělí na čtyři úseky, "út", "03", "01" a "2006".
  • tokens - udává, které elementy budou vloženy do proměnné. Jelikož máme jedinou proměnnou (%%a), ale úseky jsme určili 4, budou dodatečné proměnné přidány automaticky. Pojmenují se písmenem následujícím v abecedě.

Příkaz for se vykonává opakovaně pro každý řádek dat, výstup příkazu date má řádku jednu, tudíž se vše provede pouze jednou. Do vlastních proměnných vložíme příslušné elementy a na závěr z nich sestavíme požadované jméno.

12345
1136317260000

Kategorie

Informace

Kontakt

Sledujte také

Archiv

STRÁNKY ARCHIVOVÁNY NÁRODNÍ KNIHOVNOU ČR

CBDB.cz – Databáze knih a spisovatelů, knihy online