MOLEHAND Solutions

 
máj. 11

Written by: MOLEHAND
2009. 05. 11. 20:33

Ha parancssorban olyan fájlt szeretnénk létrehozni, aminek a nevében szerepel a dátum (pl. egy napi ütemezésű batchfileból logolni szeretnénk minden nap külön fájlba), akkor beleütközhetünk abba a problémába, hogy angol nyelvi környezetben a %date% környezeti változó DD/MM/YYYY alakú, viszont '/' karakter filenévben nem szerepelhet.
 
Z:\>echo %date%
21/01/2009
 
Nem kell elkeserednünk, mert le tudjuk kérdezni a környezeti változók rész-stringjeit is, átugorva a speciális karaktereket:
 
Z:\>echo %date:~6,4%
2009
 
Az első szám ahol kezdünk, a második pedig hogy hány karakterig menjünk.
Negatív előjelet is tudunk használni, így hátulról tudunk az X. karakternél kezdeni,
 
Z:\>echo %date:~-2%
09
 
ill. le tudjuk vágni az utolsó X karaktert.
 
Z:\>echo %date:~0,-5%
21/01
 
Így a konrét problémára a megoldás:
 
set filename=%date:~6,4%%date:~3,2%%date:~0,2%.log
valami.bat > %filename%
 
 
VBScript esetén egyébként talán legegyszerűbben:
dt = date
fname = year(dt) & right("0"&month(dt), 2) & right("0"&day(dt), 2)

Tags:

Your name:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment    Cancel  
 

 

Discount offer

 I’ve already tried several providers. Currently all of our projects are placed at MOLEHAND, because they provide real services not only a piece of a computer. Any kind of new problem crops up, I can always count on a fast and expert reaction.