ユーザー必読!コマンドライン(DOS Pt.6)

このエントリーをはてなブックマークに追加
59名無し~3.EXE
>>58
依頼者とか言うからには、君ソフトウェア設計者なんだろ?
じゃあそれらしくちゃんとした質問しろよ。
・前提条件として、外部プログラム(GNU等フリーソフト)を使っても構わないのか
  またはJava/VBスクリプトの使用は?
・対象OSは?
・それと標準BATコマンドのみだとしても、アルゴリズムも全然できてないじゃん。
 出来てたら終わってるはず。
 素直なアルゴリズムの例を一つ示してやるから後は自分で調べろ。

 step1: 今日の日付を求める
 step2: 今日の日付をある基準日を0日とする通算日付に変換する(一般化するとユリウス日)
 step3: 3ヶ月前が何日分前か求める
 step4: step2からstep3を引いてターゲット日として保存する
 step3: 以下をファイルの存在する限り繰り返す
 step4:   ファイル名から日付を取り出す
 step5:  日付を通算日付に変換する
 step6:  ターゲット日と比較する(ループ中なので遅延環境変数展開を必要とする)
 step7  より小さい日付なら削除する

日付変換サブルーチン
・日付を、年、月、日に分解する
・各月の日数 31,28,31,30,31,30,31,31,30,31,30,31
・4で割り切れる年はうるう年 2月は29日
・100で割り切れる年はうるう年ではない
・2000で割り切れる年はうるう年
・オプションで、特殊日付をサポートする(-1月とか13月とか35日とかも受け付ける)
・日数を返す

これを素直に実現してもいいし(メンテが楽)、一意の変換式としてもある。