MOLEHAND Solutions - Nagyvállalati megoldások mindenkinek

 
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    Mégsem  
 

Számítsa ki költségeit
  kalkulátorunkkal

tovább    

és nyerje meg
50 000 Ft értékű

ajándékunkat  

Akciós ajánlatunk

 Több szolgáltatót is volt szerencsém kipróbálni. Jelenleg minden projektünk a MOLEHAND-nél van elhelyezve, mert Ők nem csak egy szelet számítógépet adnak, hanem valódi szolgáltatást: Akármibe ütközök számíthatok a gyors és szakszerű reakcióra!