Category Archives: VBScript

Scripting: Leggere la data odierna

Mentre stavo preparando degli script di amministrazione per Windows e per Linux, mi sono imbattuto nel seguente problema:

Come faccio a leggere il giorno della settimana (1-7=Lunedì-Domenica) ? Questo perchè volevo creare un file di log a rotazione settimanale del tipo “nomefile_[1-7].log”.

Su Unix/Linux mi sono trovato a scrivere nella shell i seguenti comandi:

DayOfWeekNum=`date +%w`

LOG_FILE=/var/log/updateTime_${DayOfWeekNum}.log

In Windows mi sono imbattuto in un problema quasi impossibile, il “porkaround” (leggi come schifoso “workaround”) a cui mi sono dovuto adeguare è il seguente:

@echo off
REM Create a temporary VBS script
set vbsfile=c:tempupdateTime.vbs
echo currentDate = Now>%vbsfile%
echo WeekDayNumber = Weekday(currentDate)>>%vbsfile%
echo Wscript.Echo WeekDayNumber>>%vbsfile%

REM Store output of vbs script in variables
for /f %%A in (‘cscript //nologo %vbsfile%’ ) do (
set DayOfWeekNum=%%A
)
del /s/q %vbsfile%

set LOG_FILE=c:logupdateTime_%DayOfWeekNum%.log

Bello vero ?

Meno male che esiste Linux!