Windowsで1ヶ月の日付ファイルを作成する
システムの運用監視をしていると1ヶ月の日付ファイルを作成したいケースがあります。
例えば、'200905'というフォルダに'20090501.txt'というような日付ファイルを1ヶ月分作成したい場合、効率的にファイルを作成するためにはどういった方法があるのでしょうか。
ここではテキスト形式の空ファイルを前提にします。
LinuxやUnixでは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ヶ月分くらいであれば、わざわざプログラムを書くまでもないので前者で十分といったところでしょうか。
その他にも考えればもっとたくさんでてくるのでしょうが、ぱっと思いついたところでは上記くらいです。