batch dátumformátum

Mit teszünk, ha a locale-tól eltérő formátumban szeretnénk látni a dátumot, pl. egy fájlnévben, mindezt egy sima batch fájlban megoldva, pl. legyen ez a cél, YYMMDD ?
Kompakt megoldás kell, nem tudunk nekiállni cygwin-nel szarakodni, ügyfél gépére kell majd átpakolni az egész bazárt, nincs powershell sem.

Hozzászólások

OS verzió? XP, Vista, 7, 8, 8.1?

ECHO %DATE%
2014.11.07.

SET YEAR4=%DATE:~0,4%
SET YEAR2=%DATE:~2,2%
SET MONTH=%DATE:~5,2%
SET DAY=%DATE:~8,2%

echo %YEAR2%%MONTH%%DAY%
REM 141107
echo %YEAR4%%MONTH%%DAY%
REM 20141107

http://www.w3schools.com/vbscript/func_datepart.asp

cmd-vel a legtriviálisabb művelet is überhányás, ha az ember látott már effektív munkára készült shellt is - nem véletlen, hogy megszületett PS.

A nyelvfüggőségre orvosság, ha tényleg a szkripted felét a dátumnak szánod:

wmic os get localdatetime

BTW, legközelebb fordíthatnál több figyelmet a probléma egzakt(abb) megfogalmazására, mert az, hogy "Mit teszünk", meg az, hogy "szeretnénk látni a dátumot" az szerintem eléggé pongyola.

Példa: "Windows x.x alatt batch fájlból szeretnék megoldani dátum formázást. Például úgy, hogy a dátum egy fájlnévbe kerül, YYMMDD formátumban (pl.: log-141107.txt). Megoldható ez built-in eszközökkel, Powershell nélkül?"

Miért az az önszivatás, hogy nincs powershell? Batchben csoda, ha egyáltalán találsz megoldást, de hogy hogy fog kinézni...

--