@echo off & setlocal enabledelayedexpansion :: unprintable entry: ALT+digit_digit_digit where digit is ONLY from numeric :: keypad on right, not over-keys ::=================== LATER VERSION 2/13/13 ::=========== LATEST 3/13/2015: added the "defpath" var. for DOFW.VBS handling :: also finally got around to adding the "increment/decrement" feature which :: I often need to use. :: calnew only: also added a "zoom" feature! :: everything works so far as tested, but the whole thing needs overhauled to :: improve the layout. ::debug/display settings set eko=rem set paz=rem if "%2" neq "" ( set eko=echo set paz=pause ) set dz= %date:~7,2%% set dz=%dz: 0=% set defpath=%~dp0 set z=%1 set thisbat=%~n0.bat ::---- default size set /a test=x+0 if %test% equ 0 set x=0 if %x% lss 3 set x=6 ::--- help junk if "%z%" equ "/?" set z=? if "%z%" equ "-?" set z=? if "%z%" equ "?" ( call :findline "--- END batch" more +!n! %thisbat% |findstr /e /c:" " goto :eof ) ::--- dofw junk rem if /I "%z%" equ "dofw" ( if not exist %defpath%\dofw.vbs ( call :findline "--- END helpfile" echo building %defpath%\dofw.vbs from %defpath%\%thisbat% line !n!: pause more +!n! %defpath%\%thisbat%> %defpath%\dofw.vbs echo done. rem goto :eof ) :top rem set L1=ÚÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄ¿ rem set L2=ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄ´ rem set L3=ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÙ rem set blank=³ ³ ³ ³ ³ ³ ³ ³ call :build set months=JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBEROCTOBER NOVEMBER DECEMBER set thirty=" 4 6 9 11 " ::if %x% equ 3 (set days= ) :--- date :--- attempt to allow override of current-date-default via vbscript :startnext %eko% starnext z:%z% !z! if not defined z set z=%1 if "%z%" neq "" ( for /f "tokens=1-3 delims=/-." %%a in ("%z%") do if "%%c" equ "" set z=%%a/%dz%/%%b set /p=Submitting date: !z! to dofw.vbs... dofw.vbs or, preferably (and more reliably), you can do this from the command-prompt: CALENDR DOFW And the batchfile will create the vbscript, after which Calendr could now process a command-line date-modifier (mm-yy), like (for Jan 2012): CALENDR 1/12 or: CALENDR 1-12 or: CALENDR 1.12 (dashes and slashes dots are interchangeable as delimiters. You can include the day, but it's ignored as being irrelevant) Once launched, you can increment or decrement the calendar using n/p. And you can zoom in (enlarge) or zoom out (reduce) using +/- resp. please report any errors/ommissions/bugs/suggestions via email: kitpackers@suddenlink.net :------------------ END helpfile, begin vbscript "dofw.vbs" 'obtain day-of-week of given input date, output like: Sun 1/2/2012 set y=wscript.arguments a=y.count-1 if a < 0 then x=date else x=y(0) dofw=left(FormatDateTime(x,1),3) test=FormatDateTime(x,0) wscript.stdout.write(dofw+" "+test)