Windowsで1ヶ月の日付ファイルを作成する

システムの運用監視をしていると1ヶ月の日付ファイルを作成したいケースがあります。

例えば、'200905'というフォルダに'20090501.txt'というような日付ファイルを1ヶ月分作成したい場合、効率的にファイルを作成するためにはどういった方法があるのでしょうか。

ここではテキスト形式の空ファイルを前提にします。

LinuxUnixではtouchコマンドというファイルを新規作成するコマンドが用意されています。
Windowsでは残念ながら、それに当たるコマンドが存在しませんがコマンドプロンプトでecho offをリダイレクトすることで空ファイルが作成できます。また、プログラミング言語を使用して空ファイルを作成することも可能です。

前者のほうはEXCELなどの表計算ソフトを使えば、1ヶ月分のファイル名がすぐ作れるので、それにecho offを組み合わせてやります。

例)

echo off > 20090501.txt
echo off > 20090502.txt
echo off > 20090503.txt
echo off > 20090504.txt
:

これをコピーしてコマンドプロンプトに貼り付けるだけです。簡単ですね。

次にプログラミング言語を使う場合ですが、たくさんあるプログラミング言語の中でもスクリプト言語のほうがコンパイルが不要なため、こうしたツール類を作る場合は向いているのではないでしょうか。

今回は引数に作成したい月を渡すと、その月のファイルが作成されるというスクリプトPythonで書いてみました。

# create_file.py
import sys

for x in xrange(31):
       x += 1
       if(x < 10):
               num = "0" + str(x)
       else:
               num = str(x)

       fname = sys.argv[1] + num + ".txt"
       f = open(fname, 'w')
       f.close()

使い方

python create_file.py 200905

プログラムは色々な書き方ができるため、ここでは深くつっこみませんが、数ヶ月分のファイルを作成するときはプログラムを使ったほうが効率的でしょうね。1ヶ月分くらいであれば、わざわざプログラムを書くまでもないので前者で十分といったところでしょうか。

その他にも考えればもっとたくさんでてくるのでしょうが、ぱっと思いついたところでは上記くらいです。