Jak získám aktuální datum/čas v příkazovém řádku systému Windows ve formátu vhodném pro použití v názvu souboru/složky?
Aktualizace: Teď, když je rok 2016, bych pro to použil PowerShell, pokud pro to není opravdu pádný důvod, zejména kvůli problému s regionálním nastavením při použití date
. Viz @npocmaka's https://stackoverflow.com/a/19799236/8479.
Jak'ý příkaz (příkazy) příkazového řádku Windows mohu použít k získání aktuálního data ve formátu, který mohu vložit do názvu souboru?
Chci mít soubor .bat, který zabalí adresář do archivu s aktuálním datem a časem jako součástí názvu, například Code_2008-10-14_2257.zip
. Existuje nějaký jednoduchý způsob, jak to provést nezávisle na regionálním nastavení počítače?
Na formátu data mi opravdu nezáleží, ideální by bylo yyyy-mm-dd, ale cokoliv jednoduchého je fajn.
Zatím mám tohle, což mi na mém počítači dává út_10_14_2008_230050_91
:
rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
S tím se dá žít, ale zdá se mi to trochu neohrabané. Ideální by bylo, kdyby to bylo stručnější a mělo to dříve zmíněný formát.
Používám Windows Server 2003 a Windows XP Professional. Nechci kvůli tomu instalovat další nástroje (i když si uvědomuji, že existují takové, které umí pěkně formátovat data).
Jiný způsob (kredit):
Všimněte si, že obě mé odpovědi jsou stále závislé na pořadí dne a měsíce určeném regionálním nastavením - nevím, jak to obejít.
Není to sice stručnější, ale může to být flexibilnější způsob (kredit):
Tohle jsem použil já:
Pokud chcete další nápady pro automatizaci zálohování do archivů 7-Zip, mám volně přístupný/otevřený projekt, který můžete použít nebo si ho prohlédnout a získat nápady: