技術系

batとVBSとPowershellで昨日の日付を取得するまとめ

基盤系のツールをbatで作ってたとき「昨日」の日付を出すのに苦労したのでメモ。

ググるとあっさり出てきたんだけどこれ以外の方法は無いものか。

 

batで昨日を作ると長い

まずはbatで昨日を作ったソースコードを見てみましょう。

 

参考:atmarkIT

 

batは日付の計算が苦手です。

1桁の日付(ゼロサプレスされている)場合0:ゼロを先頭に入れて置換したり、月末の計算したりうるう年計算したりetc…

 

▼実行結果(実行日:2017/12/12)

今日は、2017年12月12日です。
昨日は、2017年12月11日です。

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

 

VBSで昨日を作ると1行で済む

対してVBSで昨日を作ると1行で済みます。

コードもわかりやすく、シンプルなので覚えるのも簡単ですね。

 

または

 

 

▼Wscript.Echoした結果はどちらも同じ。(実行日:2017/12/12)

2017/12/11

 

Powershellも昨日の日付は1行で済むけど覚えにくい

Powershellって汎用性高いんですが、コードが覚えにくいんですよね(個人的な感想です)。

ちょっと見てください。

 

日付をYYYYMMDD形式にするならさらにこう(大文字小文字注意)

 

 

▼実行結果はこう(実行日:2017/12/12)

2017年12月11日 0:00:00

20171211

 

 

まとめ

batってシンプルで便利だけど日付の計算が弱いのでログのローテーションとかには向いてない。

vbsは日付の計算が簡単にできるから便利だけどファイル操作は苦手。

Powershellはなんだかよくわからんけど色々できる。けど直感的にコードを書けない(まだ)。

 

 

社畜系インフラエンジニアブログのTOPへ戻る

コメントもらえたら泣いて喜びます!
  • この記事を書いた人
  • 最新記事
kanade

kanade

IT関連の仕事に従事し気付けば10余年。好きな言葉は「よくわからないけど動いてる」です。どうにかして生き残りたいアラフォーのIT系エンジニア。

-技術系
-, ,

Copyright© インフラエンジニアブログカナデ , 2020 All Rights Reserved.