--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2014-09-05(Fri)

BATの加減算

前月分のログをアーカイブするため、今日の日付から前月の年月を求めるBATをずっと使ていたのですが、8月、9月が上手く動作しませんでした。

以下前月YYYYMMを求める部分のみ抜粋
--------------------------------------------------
SET YYYY=%DATE:~0,4%
SET MM=%DATE:~5,2%

IF %MM%==01 (
SET /A YYYY=%YYYY%-1
SET MM=12
) ELSE (
SET /A MM=%MM%-1
)
SET MM=0%MM%
SET MM=%MM:~-2%
SET YYYYMM=%YYYY%%MM%
--------------------------------------------------

SET /A MM=%MM%-1 の行で、
「無効な数字です。数値定数は 10 進 (17 桁)、16 進 (0x11 桁)、
または 8 進 (021 桁) です。」
というエラーになってしまいます。

実際には今は9月なので、
SET /A MM=09-1
となっているのですが、どうも"09"の部分がダメなようで
SET /A MM=9-1
となるようにすれば問題ないようです(00~07は大丈夫ですが、08と09がダメです)。
08と09は、何者と見なしているのでしょうか??

これを考慮し、以下のように変更しました。
--------------------------------------------------
SET YYYY=%DATE:~0,4%
SET MM=%DATE:~5,2%

IF %MM%==01 (
SET /A YYYY=%YYYY%-1
SET MM=13
) ELSE (
IF %MM:~0,1%==0 SET MM=%MM:~-1%
)
SET /A MM=%MM%-1
SET MM=0%MM%
SET MM=%MM:~-2%
SET YYYYMM=%YYYY%%MM%
--------------------------------------------------

コメントの投稿

管理者にだけ表示を許可する

コメント



 
プロフィール
Author:OMEGAT
FC2ブログへようこそ!
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
FC2カウンター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
忍者AdMax
検索フォーム
カテゴリ
ブロとも申請フォーム

この人とブロともになる

amazonお奨め商品



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。