@ECHO off
BREAK ON
if not (%1)==() goto %1
CLS
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº         FDATEX: Demonstration batch file for FDATE                          º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
echo.
echo.
echo This batch file uses ANSI.SYS to control the appearance and color
echo of some of the headings.

echo.
echo If you do not have ANSI.SYS installed, you may see garbage on the
echo screen next to some of the headings, such as the one at the top of
echo this screen, but the batch file will work correctly otherwise.

echo.
echo.
echo.
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº        The first thing we will do is to test the HELP screen.               º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
PAUSE

cls
FDATE
PAUSE
ECHO ON

@echo off
CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#1)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /Atoday /Occyy
FDATE /Ff /At /Occyymm
FDATE /Ff /At /Occyymmdd
FDATE /Ff /At /Oyymmdd
FDATE /Ff /At /Ommdd
@echo off
@PAUSE

@echo off
CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#1b)                                  º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /Odd
FDATE /Ff /At /Ozd
FDATE /Ff /At /Odd-mn3-yy
FDATE /Ff /At /Odd-mn3-yy /Lfr
FDATE /Ff /At /Odd-mn3-yy /Lsp
@echo off
@PAUSE

@echo off
CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#1c)                                  º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /Oddmn3yy
FDATE /Ff /At /Oyy
@echo off
@PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#2)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /Omm-dd-ccyy
FDATE /Ff /Ozm-zd-ccyy
FDATE /Ff /Omm/dd/ccyy
FDATE /Ff /Ozm/zd/ccyy
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (BRITISH)                              º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /Odd.mm.ccyy
FDATE /Ff /Ozd.zm.ccyy
FDATE /Ff /Odd.mm.yy
FDATE /Ff /Ozd.zm.yy
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#3)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /Odow#
FDATE /Ff /At /Odow
FDATE /Ff /At /Odow3
FDATE /Ff /At /Odow  /Lfr
FDATE /Ff /At /Odow3 /Lfr
FDATE /Ff /At /Odow3 /Lsp
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#4)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /O"mn zd, ccyy"
FDATE /Ff /At /O"mn3 dd ccyy"
FDATE /Ff /At /O"mn3 dd, ccyy"
FDATE /Ff /At /O"mn zd, ccyy"  /Lfr
FDATE /Ff /At /O"mn zd, ccyy"  /Lsp
FDATE /Ff /At /O"mn3 dd ccyy"  /Lfr
FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#5)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /O"zd mn ccyy"
FDATE /Ff /At /O"zd mn, ccyy"
FDATE /Ff /At /O"zd mn ccyy"  /Lfr
FDATE /Ff /At /O"zd mn, ccyy" /Lfr
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (#6)                                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
Fdate /Ff /Occyy-mm-dd
Fdate /Ff /Occyy/mm/dd
Fdate /Ff /Occyy.mm.dd
Fdate /Ff /Oyy-mm-dd
Fdate /Ff /Oyy/mm/dd
Fdate /Ff /Oyy.mm.dd
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (TIME)                                 º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /At /Ot1
FDATE /Ff /At /Ohh:mm
FDATE /Ff /At /Ohh:mm:ss
@echo off
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff
FDATE /Ff /Ofull
FDATE /Ff /Lfr
FDATE /Ff /Ofull /Lfr
FDATE /Ff /Ofull /Lsp
FDATE /Ff /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
@echo off
PAUSE
:julian
CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
FDATE /Ff /Oday#     /P"Absolute date : "
FDATE /Ff /Ominute#  /P"Julian minutes: "
FDATE /Ff /Osecond#  /P"Julian seconds: "
@pause

@cls
FDATE /Ff /Occyyjjj  /P"Julian date is: "
FDATE /Ff /Oyyjjj    /P"Julian date is: "
FDATE /Ff /Ojjj      /P"Julian date is: "
FDATE /Ff /Ozzj      /P"Julian date is: "
FDATE /Ff /Ojulian   /P"Julian date is: "
@echo off
PAUSE

:IN
CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   INPUT  FORMATS                                        º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
echo.
@echo TEST PSEUDO-DATES   /AT  (/ATODAY)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
@echo on
FDATE /Ff /Atoday
FDATE /Ff /At
@Pause
cls
@ECHO TEST PSEUDO-DATES     /ICCYYMMDD
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /Atttt1126  /Iccyymmdd
FDATE /Ff /A1991tt26  /Iccyymmdd
FDATE /Ff /A199211tt  /Iccyymmdd
FDATE /Ff /Atttttttt  /Iccyymmdd
@Pause
cls
@ECHO TEST PSEUDO-DATES
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /A11-26-tttt
FDATE /Ff /A11-tt-1992
FDATE /Ff /Att-26-1992
FDATE /Ff /Att-tt-tttt
@Pause
cls
@ECHO TEST PSEUDO-DATES     /IMM-DD-YY
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /A11-26-tt /Imm-dd-yy
FDATE /Ff /A11-tt-92 /Imm-dd-yy
FDATE /Ff /Att-26-92 /Imm-dd-yy
FDATE /Ff /Att-tt-tt /Imm-dd-yy
@PAUSE

CLS
@echo TEST INPUT FORMATS
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /Imm-dd-ccyy /A12-07-1991
FDATE /Ff /Imm-dd-yy   /A12-07-91
FDATE /Ff /Iccyymmdd   /A19911207
@PAUSE

CLS
@echo TEST INPUT FORMATS (British/European)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Fdate /Ff /Idd-mm-yy   /A2/5/92
Fdate /Ff /Idd-mm-yy   /A2/5/10
Fdate /Ff /Idd-mm-yy   /A12/12/10
Fdate /Ff /Idd-mm-ccyy /A2/5/1992
Fdate /Ff /Idd-mm-ccyy /A12/5/1992
Fdate /Ff /Idd-mm-ccyy /A2/05/1992
Fdate /Ff /Idd-mm-ccyy /A12/05/1992
@PAUSE

CLS
@echo TEST INPUT FORMATS  (/If ... GET INPUT DATE/TIME FROM A FILE)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /If /Afdatex.bat /P"The date on file FDATEX.BAT is: "
FDATE /Ff /If /Afdatex.bat /P"The time on file FDATEX.BAT is: " /Ohh:mm:ss
FDATE /Ff /If /Afdatex.bat /P"FDATEX.BAT was last updated at " /Ofull
@PAUSE

:JJJ

CLS
@echo ON
@echo TEST JULIAN INPUT FORMATS
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /Iccyyjjj /A1992045
FDATE /Ff /Iccyyjjj /Atttt045
FDATE /Ff /Iyyjjj /A92045
FDATE /Ff /Iyyjjj /Att045
FDATE /Ff /Iyyjjj /A92366
FDATE /Ff /Iyyjjj /A93366
@PAUSE

CLS
@echo TEST JULIAN INPUT FORMATS
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Fdate /Ff /Iyyjjj /Att-1
Fdate /Ff /Iyyjjj /Att0
Fdate /Ff /Iyyjjj /Att+1
Fdate /Ff /Iyyjjj /Att-999
Fdate /Ff /Iyyjjj /Att1000
@PAUSE
@echo OFF

CLS
@echo TEST INPUT FORMATS (only YY specified, CC assumed.)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /Imm-dd-yy /A12-07-00
FDATE /Ff /Imm-dd-yy /A12-07-10
FDATE /Ff /Imm-dd-yy /A12-07-19
FDATE /Ff /Imm-dd-yy /A12-07-20
FDATE /Ff /Imm-dd-yy /A12-07-21
FDATE /Ff /Imm-dd-yy /A12-07-91
@PAUSE

CLS
@echo off
@echo TEST INPUT FORMATS HANDLING LEADING ZEROS
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /Imm-dd-yy /A06-06-66
FDATE /Ff /Imm-dd-yy /A6-06-66
FDATE /Ff /Imm-dd-yy /A06-6-66
FDATE /Ff /Imm-dd-yy /A6-6-66
FDATE /Ff /A06-06-0001
FDATE /Ff /A6-06-0001
FDATE /Ff /A06-6-0001
FDATE /Ff /A6-6-0001
@PAUSE

@echo on

CLS
@echo TEST /P (PREFIX) PARAMETER
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
FDATE /Ff /At /O"mn zd, ccyy" /P"Hoy es "        /Lsp
@echo.
@set  FDATE=
FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
@Echo off
call FDATJUNK.BAT
del FDATJUNK.BAT
ECHO Value of FDATE environment variable is: %FDATE%
set  FDATE=
PAUSE

CLS
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo off
fdate /Ff /A01-29-1992
fdate /Ff /A01-30-1992
fdate /Ff /A01-31-1992
fdate /Ff /A02-29-1992
fdate /Ff /A02-30-1992
fdate /Ff /A02-31-1992
@echo off
PAUSE

:func
CLS
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº                TEST   FUNCTIONS                                             º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo on
@echo.
@echo TEST FUNCTION: F (FORMAT)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fformat /Atoday
FDATE /Ff      /At
FDATE /Ff
@PAUSE
@echo off
CLS
@echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fw /A11-25-1992 /D5 /N-2 /P"2nd Thursday before 11-25-1992: "
FDATE /Fw /A11-25-1992 /D5 /N-1 /P"1st Thursday before 11-25-1992: "
FDATE /Ff /A11-25-1992 /D5 /N-1 /P"The actual day of.. 11-25-1992: "
FDATE /Fw /A11-25-1992 /D5 /N1  /P"1st Thursday afterÿ 11-25-1992: "
FDATE /Fw /A11-25-1992 /D5 /N2  /P"2nd Thursday afterÿ 11-25-1992: "
@PAUSE
@CLS
@echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fw /A11-26-1992 /D5 /N-2 /P"2nd Thursday before 11-26-1992: "
FDATE /Fw /A11-26-1992 /D5 /N-1 /P"1st Thursday before 11-26-1992: "
FDATE /Ff /A11-26-1992 /D5 /N-1 /P"The actual day of.. 11-26-1992: "
FDATE /Fw /A11-26-1992 /D5 /N1  /P"1st Thursday afterÿ 11-26-1992: "
FDATE /Fw /A11-26-1992 /D5 /N2  /P"2nd Thursday afterÿ 11-26-1992: "
@PAUSE
@echo off
@CLS
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº                TEST   /FW-RELATED ERROR MESSAGES                            º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
FDATE /Fw /A11-26-1992 /D5 /N0    /P" 0th Thursday after 11-26-1992: "
FDATE /Fw /A11-26-1992 /D5 /N100  /P"99th Thursday after 11-26-1992: "
FDATE /Fw /A11-26-1992 /D5 /N-100 /P"99th Thursday before 11-26-1992: "
@PAUSE

:comp

CLS
@echo TEST COMP (DATE COMPARE) FUNCTION and default
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
@echo ON
Fdate /Fcomp /A06-06-1992 /B06-06-1991
Fdate /Fcomp /A06-06-1992 /B06-06-1992
Fdate /Fcomp /A06-06-1992 /B06-06-1993
Fdate /Fcomp
@PAUSE

CLS
@echo TEST TCOMP (TIME COMPARE) FUNCTION and default
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
@echo ON
Fdate /FTcomp
@ECHO XXXX>JUNKTEMP.BAT
Fdate /FTcomp  /If /Ajunktemp.bat /Bfdatex.bat
Fdate /FTcomp  /If /Bjunktemp.bat /Afdatex.bat
Fdate /FTcomp  /If /Afdatex.bat   /Bfdatex.bat
@del       JUNKTEMP.BAT
@PAUSE

CLS
@echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fdif /At /Bt
FDATE /Fdif
FDATE /Fdif /At /B01-01-1990
FDATE /Fdif /A01-01-1990 /Bt
FDATE /Fdif /A12-31-0008 /B01-01-0009
FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
@PAUSE

CLS
@echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
@PAUSE

@echo off
CLS
echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo on
FDATE /Fadd /N1 /A12-31-0008 /Omm-dd-ccyy
FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
@PAUSE

CLS
@echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fadd /N1 /A12-31-0003
FDATE /Fadd /N1 /A12-31-0099
FDATE /Fadd /N1 /A12-31-0399
FDATE /Fadd /N1 /A12-31-1899
FDATE /Fadd /N1 /A12-31-1999
@PAUSE

CLS
@echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fadd /N1 /A12-31-0004
FDATE /Fadd /N1 /A12-31-0100
FDATE /Fadd /N1 /A12-31-0400
FDATE /Fadd /N1 /A12-31-1900
FDATE /Fadd /N1 /A12-31-2000
@PAUSE

CLS
@echo TEST SUB
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fsub /N1 /A12-31-0008
FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
@PAUSE

CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fsub /N1 /A12-31-0004
FDATE /Fsub /N1 /A12-31-0100
FDATE /Fsub /N1 /A12-31-0400
FDATE /Fsub /N1 /A12-31-1900
FDATE /Fsub /N1 /A12-31-2000
@PAUSE

CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fsub /N1 /A01-01-0004
FDATE /Fsub /N1 /A01-01-0100
FDATE /Fsub /N1 /A01-01-0400
FDATE /Fsub /N1 /A01-01-1900
FDATE /Fsub /N1 /A01-01-2000
@PAUSE

CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Fsub /N1 /A01-01-0005
FDATE /Fsub /N1 /A01-01-0101
FDATE /Fsub /N1 /A01-01-0401
FDATE /Fsub /N1 /A01-01-1901
FDATE /Fsub /N1 /A01-01-2001
@PAUSE

:errmsg
CLS
@echo TEST ERROR MESSAGES
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
@echo on
FDATE /Ff /At /Ojunktest
FDATE /Ff /A18880101 /Ijunktest /Ominute#
@PAUSE

CLS
FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
@PAUSE

CLS
FDATE /Ff   /A01-01-xxxx
FDATE /Fadd /A01-01-1992 /N
@PAUSE

CLS
FDATE /Fdif /?01-01-1992 /B01-02-1992
FDATE /Fdif /A01-01-1992 /?01-02-1992
@PAUSE

CLS
FDATE /Ff   /Imm-dd-yy   /A01-01-1
FDATE /Ff   /Imm-dd-yy   /A01-01-199
FDATE /Ff   /A01-01-199
FDATE /Ff   /A01-01-19922
@PAUSE

:LY
CLS
@echo on
@echo TEST LEAPYR (#1)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /A01-01-0001 /Oly
FDATE /Ff /A01-01-0004 /Oly
FDATE /Ff /A01-01-0005 /Oly
FDATE /Ff /A01-01-0100 /Oly
FDATE /Ff /A01-01-0400 /Oly
FDATE /Ff /A01-01-1600 /Oly
@PAUSE

CLS
@echo TEST LEAPYR (#2)
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /A01-01-1900 /Oly
FDATE /Ff /A01-01-1984 /Oly
FDATE /Ff /A01-01-1991 /Oly
FDATE /Ff /A01-01-1992 /Oly
FDATE /Ff /A01-01-2000 /Oly
@PAUSE

CLS
@echo TEST "JULIAN" OUTPUT FORMATS
@echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FDATE /Ff /At /Ojulian
FDATE /Ff /At /Oday#
FDATE /Ff /At /Ominute#
FDATE /Ff /At /Osecond#
FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
@PAUSE

@ECHO off
:ABSDATES
CLS
echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ECHO.
FDATE /Ff /A01-01-0001 /P"First day of year 0001: "  /Oday#
ECHO.
FDATE /Ff /A01-01-1900 /P"First day of year 1900: " /Oday#
ECHO.
FDATE /Ff /A01-01-1992 /P"First day of year 1992: " /Oday#
ECHO.
FDATE /Ff /At          /P"Today's calendar date : "
FDATE /Ff /At /Oday#   /P"Today's absolute date : "
ECHO.
FDATE /Ff /A12-31-2000 /P"Last day of year 2000: " /Oday#
ECHO.
FDATE /Ff /A12-31-9999 /P"Last day of year 9999: " /Oday#
PAUSE

:GET
CLS
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº   If you do not have GET installed,                                         º[0;40;37m
echo [1;44;37mº   you will see messages saying "Bad command of file name".                  º[0;40;37m
echo [1;44;37mº   This is normal and nothing to worry about.                                º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo.

@echo on
@set date1=
@echo.
FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo off
@PAUSE

:STRINGS
CLS
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
echo [1;44;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;44;37mº   If you do not have STRINGS installed,                                     º[0;40;37m
echo [1;44;37mº   you will see messages saying "Bad command of file name".                  º[0;40;37m
echo [1;44;37mº   This is normal and nothing to worry about.                                º[0;40;37m
echo [1;44;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
@echo.

@echo on
@set date1=
@echo.
FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
@echo off
@PAUSE

@echo off
CLS
echo.
echo The final demonstration uses the DOS "CALL" statement,
echo so it requires DOS 3.3 or greater.
echo.
echo If you do not have DOS 3.3+,
echo press Control-Break or Control-C now to stop execution of the batch file.
echo.
echo Otherwise,
pause


:TIMER
@echo off
cls
ECHO The demo will run for 1 - 60 seconds.
echo.
ECHO ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
echo.
echo If you leave long batch files to run overnight, this techique can
echo be used to record how long each program in the batch file ran.
echo.
echo The technique for setting the values of environment variables in this
echo part of the demo uses temporary batch files and CALL statements.
echo If you have a program such as GET or STRINGS, you can use it instead.
ECHO ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
PAUSE
cls

FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "

REM  GET PROGRAM BEGIN TIME, IN MINUTES
@set BegM=
@set EndM=
@set RunM=
FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
CALL FDATJUNK.BAT

REM  GET PROGRAM BEGIN TIME, IN SECONDS
set BegS=
set EndS=
set RunS=
FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
CALL FDATJUNK.BAT

rem ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
rem [simulate execution of a program: loop for a minute or less]
rem [In a real batch file, you would put your program statements here]
rem ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
:BegLoop
   FDATE /Ff /At /Osecond# /P"SET EndS=" >FDATJUNK.BAT
   CALL FDATJUNK.BAT
   FDATE /Ff /At /Ominute# /P"SET EndM=" >FDATJUNK.BAT
   CALL FDATJUNK.BAT

   rem  calculate run time (difference between start time and end time)
   FDATE /F#dif /A%EndM% /B%BegM% /P"SET RunM=" > FDATJUNK.BAT
   CALL FDATJUNK.BAT

   rem  calculate run time (difference between start time and end time)
   FDATE /F#dif /A%EndS% /B%BegS% /P"SET RunS=" > FDATJUNK.BAT
   CALL FDATJUNK.BAT
   echo      TESTPGM running, elapsed time: %RunS% seconds

   if (%RunM%)==()  goto EndLoop
   if (%RunM%)==(0) goto BegLoop
:EndLoop
rem ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

REM  GET PROGRAM END TIME IN SECONDS
FDATE /Ff /At /Osecond# /P"SET EndS=" > FDATJUNK.BAT
CALL FDATJUNK.BAT

REM  GET PROGRAM END TIME IN MINUTES
FDATE /Ff /At /Ominute# /P"SET EndM=" > FDATJUNK.BAT
CALL FDATJUNK.BAT

FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
echo.

echo TESTPGM: Program end   time (Julian seconds): %EndS%
echo TESTPGM: Program begin time (Julian seconds): %BegS%
rem  calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
set BegS=
set EndS=

echo.
echo TESTPGM: Program end   time (Julian minutes): %EndM%
echo TESTPGM: Program begin time (Julian minutes): %BegM%
rem  calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
DEL  FDATJUNK.BAT
set BegM=
set EndM=
set RunM=
set RunS=
echo.
PAUSE

cls
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº                     END OF FDATE TEST BATCH FILE                            º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
echo.
echo I hope that you have found this demo batch file helpful,
echo and that you will find FDATE useful.
echo.
echo                         -- Stephen Ferg
echo.
echo.
echo.


if not exist holidays.bat goto endit
echo [1;41;37mÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»[0;40;37m
echo [1;41;37mº             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               º[0;40;37m
echo [1;41;37mÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼[0;40;37m
pause
HOLIDAYS.BAT
:ENDIT
