Jak dostat datum a čas do názvu souboru v dávkovém souboru
Pokud jste si napsali nějaký dávkový soubor, který ukládá různé varianty nějakého souboru (typicky zálohování), chcete možná do názvu souboru vložit
aktuální datum a čas, aby byl soubor snadno identifikovatelný a aby se jednotlivé verze vzájemně nepřepisovaly. Na Googlu jsem našel řešení, které ale
fungovalo jenom na anglických Windows. Upravil jsem ho pro česká Windows. Zde je kód:
@For /F "tokens=1,2,3 delims=.,/ " %%A in ('echo %date%') do @(
Set den=%%A
Set mesic=%%B
Set rok=%%C
)
@For /F "tokens=1,2,3 delims=:,./ " %%A in ('echo %time%') do @(
Set hodina=%%A
Set minuta=%%B
Set sekunda=%%C
)
REM prikad pouziti
echo test > %rok%_%mesic%_%den%_%hodina%%minuta%%sekunda%_nazev.txt
Toto je originální kód, který jsem našel v internetu. Byl použit výpis date /t, ale anglická Windows používají jiný tvar výpisu date /t než česká, tedy by bylo nutné nahradit delimiter / tečkou a vzít druhý, třetí a čtvrtý parametr, protože první parametr je u českých Windows název dne.
Pro anglická Windows vypadal kód nějak takto:
@For /F "tokens=1,2,3 delims=/ " %%A in ('Date /t') do @(
Set den=%%A
Set mesic=%%B
Set rok=%%C
)
atd...
pro česká windows by vypadal:
@For /F "tokens=1,2,3,4 delims=. " %%A in ('Date /t') do @(
Set den=%%B
Set mesic=%%C
Set rok=%%D
)
atd...
ale nahoře uvedené řešení s výpisem
echo %date% je univerzálnější.