以下の内容はhttps://kunst1080.hatenablog.com/entry/2015/12/17/000524より取得しました。


BATファイルのサブルーチンで閏年を判定する

※これはコマンドプロンプトアドベントカレンダーの記事ではありません

※なんだかシェル芸界隈で流行っているようだったのでBATファイルで参戦

サブルーチン本体

:IS_LEAP
	rem 年が400で割り切れると閏年
	set /a rest = %1 %% 400
	if %rest%==0 exit /b 0

	rem 年が100で割り切れると閏年ではない
	set /a rest = %1 %% 100
	if %rest%==0 exit /b 1

	rem 年が4で割りきれると閏年
	set /a rest = %1 %% 4
	if %rest%==0 exit /b 0
exit /b 1

閏年の場合、ERRORLEVELに0を、そうでない場合は1を設定します。

試してみましょう

@echo off

set YEAR=2000
call :IS_LEAP %YEAR%
if errorlevel 1 (echo %YEAR% is NOT LEAP) else (echo %YEAR% is LEAP)
echo.


set YEAR=2012
call :IS_LEAP %YEAR%
if errorlevel 1 (echo %YEAR% is NOT LEAP) else (echo %YEAR% is LEAP)
echo.


set YEAR=1100
call :IS_LEAP %YEAR%
if errorlevel 1 (echo %YEAR% is NOT LEAP) else (echo %YEAR% is LEAP)
echo.


pause

goto :eof

:IS_LEAP
	rem 年が400で割り切れると閏年
	set /a rest = %1 %% 400
	if %rest%==0 exit /b 0

	rem 年が100で割り切れると閏年ではない
	set /a rest = %1 %% 100
	if %rest%==0 exit /b 1

	rem 年が4で割りきれると閏年
	set /a rest = %1 %% 4
	if %rest%==0 exit /b 0
exit /b 1

出力

2000 is LEAP

2012 is LEAP

1100 is NOT LEAP

続行するには何かキーを押してください . . .


こんな感じで。




以上の内容はhttps://kunst1080.hatenablog.com/entry/2015/12/17/000524より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14