Saturday, 1 February 2025

Simple Script in Batch Programming Using IF and For Loop

@echo off

setlocal EnableDelayedExpansion


for /l %%i in (01, 01, 31) do (

    SET lday=%%i

    SET month=01

    SET year=2025


    IF !lday! EQU 08 (

        SET /a lday=010

    )


    IF !month! EQU 08 (

        SET /a month=010

    )


    IF !lday! EQU 09 (

        SET /a lday=011

    )


    IF !month! EQU 09 (

        SET /a month=011

    )


    set /A lday=!lday!-1

    set /A month=!month!-0


    IF !lday! LSS 1 IF !month! EQU 1 (

        SET lday=31

        SET /A month=!month!-1+12

        SET /A year=!year!-1

    )


    IF !lday! LSS 1 IF !month! EQU 2 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 3 (

        SET lday=28

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 4 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 5 (

        SET lday=30

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 6 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 7 (

        SET lday=30

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 8 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 9 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 10 (

        SET lday=30

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 11 (

        SET lday=31

        SET /A month=!month!-1

    )


    IF !lday! LSS 1 IF !month! EQU 12 (

        SET lday=30

        SET /A month=!month!-1

    )


    IF !lday! LEQ 9 (

        SET lday=0!lday!

    ) else (

        SET lday=!lday!

    )


    IF !month! LEQ 9 (

        SET month=0!month!

    ) else (

        SET month=!month!

    )


    echo !year!!month!!lday!

    pause

)


endlocal