vbs o cmd? meglio tutti e due

L’idea è nata da una domanda sul forum di Sysadmin.it, vi sono talvota esigenze di difficile realizzazione in uno script, mentre in vbs a causa della maggior “ricchezza” dell’ambiente sono decisamente più semplici. Certo la soluzione più semplice è quella di realizzare lo script in vbs, ma se per qualche motivo proprio si desidera comunque utilizzare il DOS un modo potrebbe essere questo:

  1. Creare tramite echo un file vbs temporaneo il cui output sarà l’impostazione di varabili tramite l’attualizzazione di funzioni vbscript
  2. Si esegue il file vbs impostando l’output su un file cmd temporaneo
  3. Si esegue il file cmd temporaneo in modo da avere a disposizione delle variabili impostae
  4. Si eliminano i file vbs e cmd temporanei

Di seguito ad esempio il codice per visualizzare il nome dl giorno della settimana in DOS:

@echo off

set TmpVbs=”%temp%\tmp.vbs”
set TmpCmd=”%temp%\tmp.cmd”

echo> %TmpVbs% n=Now
echo>>%TmpVbs% With WScript
echo>>%TmpVbs% .Echo “set daynameshort=” + WeekDayName(Weekday(n),1)
echo>>%TmpVbs% .Echo “set dayname=” + WeekDayName(Weekday(n))
echo>>%TmpVbs% End With

cscript //nologo “%TmpVbs%” > “%TmpCmd%”
call “%TmpCmd%”

del “%TmpCmd%”
del %TmpVbs%

echo The short weekday name is “%daynameshort%”
echo The full weekday name is “%dayname%”