Datum v názvu souboru

Jak z příkazové řádky (CMD) nebo spustitelného souboru .bat zadat název souboru jako aktuální datum (Now).


Použití:

  • Při zálohování serveru z příkazové řádky
  • Výsledek či log zálohování
  • Název souboru jako datum

K definování aktuálního datumu včetně hodin a minut použijeme následující script:

for /f "delims=" %%# in ('powershell get-date -format "{yyyy-MM-dd--HH-mm}"') do @set _date=%%#

Script je napsán na jednom řádku. Vypsat datum můžeme na dalším řádku tímto příkazem: echo %_date%

Kde YYYY je rok na 4 místa, MM je měsíc na 2 místa, dd je den na 2 místa a HH respektive mm jsou Hodiny a minuty.
Zde jsem použil jako separátor pomlčky, jelikož je to vhodné jako název souboru. První chceme rok, pak měsíc pak den, aby se nám to řadilo pěkně i podle názvu a bylo jasné ze kdy log či záloha je.

Výsledek, tedy aktuální datum, hodina a minuty máme v proměné %_date%

Já osobně používám následovně:

for /f "delims=" %%# in ('powershell get-date -format "{yyyy-MM-dd--HH-mm}"') do @set _date=%%#
Wbadmin start backup -backupTarget:f: -include:d:,e:,z: -allCritical -vssFull -quiet > e:\%_date%.txt

To znamená zálohuj na disk F přes WBADMIN, zálohuj systém, obnovení, dále disky: D, E, Z a průběh a výsledek zapiš do txt souboru na disku E s dnešním datem (2021-01-16–10-36.txt).

Zálohování z příkazové řadky WBADMIN si napíšu později.