にゅー開発環境

現在、新しい開発環境を構築中です。
社内の全員の環境を、この環境にして、どのパソに移動させても簡単に動作させられるようにすることが目的らしいです。
で、その開発環境の設定やら新しい発見やらを書いていこうと思います。


DoCoMoのADF(.jamファイル)には、LastModifiedというのがあります。
これは、現在の時刻を、

LastModified = Sun, 30 Jun 2005 17:54:24

この様な形式で書かなければなりません。
DoJaの開発ツールを使えば自動的にやってくれますが、自分の会社の場合はMakefileからやっているので、この部分も手動で書かなければなりません。
で、当初は、この部分をPerlで出力していたのですが、こんなことで全員の環境にPerlをインストールさせるのもどうかと思うので、バッチファイルで組んでみました。
2000,XP限定ですけど(;´Д`)

@echo off
set year=%DATE:~0,4%
set yr=%year%
set month=%DATE:~5,2%
set mt=%month%
set day=%DATE:~8,2%
set t=%TIME:~0,8%
if "%month%"=="01" (
  set /a yr=%yr%-1
  set /a mt=%mt%+12
)
if "%month%"=="02" (
  set /a yr=%yr%-1
  set /a mt=%mt%+12
)
set m=%mt:~0,1%
if "%m%"=="0" set mt=%mt:~1,1%
set d=%day:~0,2%
set m=%day:~0,1%
if "%m%"=="0" set d=%day:~1,1%
set /a dow=((%yr%+%yr%/4-%yr%/100+%yr%/400+(13*%mt%+8)/5+%d%)%%7)
if "%dow%"=="0" set dow=Sun
if "%dow%"=="1" set dow=Mon
if "%dow%"=="2" set dow=Tue
if "%dow%"=="3" set dow=Wed
if "%dow%"=="4" set dow=Thu
if "%dow%"=="5" set dow=Fri
if "%dow%"=="6" set dow=Sat
if "%month%"=="01" set month=Jan
if "%month%"=="02" set month=Feb
if "%month%"=="03" set month=Mar
if "%month%"=="04" set month=Apr
if "%month%"=="05" set month=May
if "%month%"=="06" set month=Jun
if "%month%"=="07" set month=Jul
if "%month%"=="08" set month=Aug
if "%month%"=="09" set month=Sep
if "%month%"=="10" set month=Oct
if "%month%"=="11" set month=Nov
if "%month%"=="12" set month=Dec
echo LastModified = %dow%, %day% %month% %year% %t%

曜日の計算は「ツェラーの公式」というのを使ってみました。
バッチファイルって結構すごいかも……。