• twitter
  • facebook
文学・歴史資料のデジタル加工入門

パソコンで日記を書くために【文学・歴史資料のデジタル加工入門7】 (木越 治)

●日記用にファイルを作る

ただ、よくよく考えてみれば、当方は、文字だけを入力できればよいのだから、日付の入ったテキストファイルを月単位にフォルダに分けて作っておき、それに書き込んでいけばいいのだということに思い当たった。

とすれば、毎日、書くときにファイルを作っていけばいいわけだが、やはり、最初の行に日付と曜日がないと、日記を書いている気がしない。ソフトをいろいろ探したのは、そういうのが最初から用意されていれば便利にちがいない、と考えたからであった。ないのであれば、自分でそういうテキストファイルを用意すればいい、ということになる。

要するに、以下のような条件を満たすファイルを作っておけばいいわけである。

1.文書を書き込むだけのテキストファイルでよい。

2.最初の行に、○月○日(曜日)というのが最初からあってほしい。

3.ファイル名は、

2016年12月15日の場合は、20161215.txt
2017年1月1日の場合は、20170101.txt

というふうに、年月日の8桁の数字で、拡張子は「.txt」にしておく。こうしておけば、ファイル名でソートすると簡単に日付順に並ぶ。

こういうファイルを、ひとつひとつ作っていたのではとても手間がかかってしまうが、こういう定型的作業こそ、MS-DOSのバッチファイルでやるべきものである。

ファイルに文字列を書き込むコマンドは「echo」を用いればよい、ということを知っていれば、あとは、リダイレクトの知識で、簡単にこのファイルを作ることができる。ふつうのMS-DOSコマンドの解説だと、「echo」は、バッチファイルのなかでメッセージを表示するためのものと解説されているはずだが、文字列をファイルに書き込むコマンドとしても使えることを知っておくととても便利である。

つまり、

echo 2016年12月15日(金)>20151215.txt

という一行の命令で、一行目に「2016年12月15日(金)」と書かれた「20151215.txt」というファイルができるというわけである。

なお、このとき、書き込む文字列に「2016年12月15日(金)」というふうに「 」の記号を付けると、「 」までそのまま書き込まれてしまうから、要注意。この文字列には、半角・全角の空白が含まれていても大丈夫である。

このことを利用して、2017年の1月分の日記ファイルを「201701」というフォルダに作る作業をこれから実際にやってみよう。

すでに、2015年12月分用に使用した「201512.bat」というファイルがあるから、これを編集して作ることにしよう。「201512.bat」の内容は以下のとおり。

=======================================================

echo 2016年12月01日(木)> 20161201.txt
echo 2016年12月02日(金)> 20161202.txt
echo 2016年12月03日(土)> 20161203.txt
(以下略)
echo 2016年12月30日(金)> 20161230.txt
echo 2016年12月31日(土)> 20161231.txt

=======================================================

拡張子が「bat」であるこのようなファイルをエディターに読み込むときは、注意が必要である。不用意にダブルクックしてはいけない。すぐに実行されてしまい、予期しないところに12月の日記ファイルが生成されてしまうからである。必ず、マウスの右クリックメニューで出る「秀丸エディターで読み込む」ないしは「送る」メニューのなかから「秀丸」を選んで読み込む必要がある。案外、こういうところでつまづいていてしまって先に進めなくなるものなので、このあたりの設定に関しては、細かく解説はしないが心得ておいてほしい。もちろん、「秀丸」でなく「一太郎」や「Word」に読み込んでもかまわないのだが、以下で解説するように、置換やBOXコピーを多用するので、それが簡単にできないとめんどうな作業になる。

これをまず「201701.bat」とリネームしてから、

2016年 → 2017年
12月 → 01月
201612 → 201701

という置換を三回実行する。

*念のために言うと、2016→2017はまあいいが、12→01とやると、12日も01日になってしまうから気をつけないといけない。面倒でも、年・月を付して置換する方が確実だし安全である。

これで日付とファイル名の対応はできたが、曜日の対応はまだである。これは、連載2回目で解説した「BOX範囲選択」を利用して、曜日部分を切り取ってから、01月01日が日曜日だから、最初に日曜日が来るように編集し直してから貼り付けていけばよい。そうやってできたのが以下のバッチファイルである。

=======================================================

echo 2017年01月01日(日)> 20170101.txt
echo 2017年01月02日(月)> 20170102.txt
echo 2017年01月03日(火)> 20170103.txt
echo 2017年01月04日(水)> 20170104.txt
(以下略)
echo 2017年01月29日(日)> 20170129.txt
echo 2017年01月30日(月)> 20170130.txt
echo 2017年01月31日(火)> 20170131.txt

=======================================================