かったことなどを書いて行きます。具体的には、日常の出来事、コンピュータ、オーディオ、バイク、飛行機、猫などについて。撮った画像をDCIMフォルダに保存する。固定文字の後ろに連番がふられ管理されている。SHの場合、アプリ指定のフォルダに保存されている名前の後半の一番大きな数字をもとに、それに1を加算した番号をふっている。採番数字は逆転となりファイル名は重複してしまう。ちなみに現在のフォルダ名は101SHARP、その前は100SHARPだった。ファイル名は、DSC-0408.JPGなどと言う名前で表される。最近はブログ用の写真もスマホで撮るケースが増えている。付帯しないと不安になるから恐ろしい。ある日、ブログを書こうと写真をサーバーにアップロードし、ブログテキストを入力してからプレビューをみると、どうも表示されてくる写真がおかしい。今アップロードした写真ではなく、なぜか昔の写真が表示されて来る。一覧表にも表示されている。写真に付いているタイトルも同じ名前だ。昔の古い写真が表示されてしまうのか。前述したように、スマホの写真はアルファベット文字を頭に連続番号で管理されている。前回書いたブログの写真の数字よりかなり若い数字が並んでいる。これでは画像データをユニークに管理することなどできない。ブログに投稿済みのものであるから、その写真が表示されている。同じい名前で写真がアップロードできたのか。物理的な名称は二重とはなっていないからだ。ファイル名は「IMG_1858.JPG」が「IMG_1858-9daa4.JPG」などのようになっている。画面で一覧しただけでは識別できない。「-9daa4」については、アプリの仕様であるから理由は解からない。スマホのカメラ側では、どうデータを管理しているのであろうか。調べて見ると、どうもスマホの写真保存フォルダDCIMの中の一番大きな数字のファイル名が基準になっているようだ。この数字に1を加算して保存するファイルの名前としている。その方法だと、そのフォルダの中のファイルを勝手に移動できない。採番基準が変わってしまうことになる。採番数字は保存ファイルに依存していない。数字は有限なので、9999になれば、次は0001になるのが当たり前の話である。スマホは保存する容量も限られているし、ファイルを管理するには適さない。何をするにも悲惨である。指定フォルダを対象としているので、その中の一番大きな数字を基準にカウントアップするので、ダブることはない。同じ名前がパソコンの中に存在してしまう可能性がある。保存したフォルダが違っていればそれも分からないが、ファイル名の番号だけでデータを管理していると時系列が狂ってしまうので、フォルダの外にファイルを出してしまうと、ぐちゃぐちゃになってしまう。変更などを加えると変わってしまうので使えない。このままではきちんとデータを管理することができない。表向きの顔と裏向きの顔を変え、ユニークな名前を付ける必要がある。どのような名前にするのが一番良いのか考えた時、ファイルの名前の中に日付と時刻を入れるのが妥当であると結論づける。すればファイル名で並び替えても時系列は変わらない。時分までしか記録されていない。1秒の間に連写すると同じ時刻情報を持つファイルが複数発生する。並び替えても順番の入り繰りはない。日時情報は名前の先頭に付けた方が良さそうだ。実作業はどうするのか。手作業でやる気は毛頭ない。ここでプロラムの登場だ。以前のブログでも書いたが、スクリプトを作成し自動的に名前をふり直す方法を考える。手法をいろいろと模索する。今までも音楽ファイルなどはタグ情報を変更して保存しているので写真データにもタグ情報があるはずだ。実際、写真データも同じであって、カメラが持っているほとんどの情報がタグの中に記録さてている。沢山の情報を保有している。問題はその情報をどうやって抜き出すかである。例のごとくネット上の情報で探っていく。机上で考えているとすぐに飽きてしまうので、いつものようにカットアンドトライで進める。早道なのか、遠回りなのか解からないが、これが私のやり方だ。以前作ったファイルを扱うスクリプトは、FileSystem.Objectを使っていたが、このオブジェクトは万能ではないらしい。このオブジェクトには、タグ情報を取得するコマンドがない。作業を進めて行くうちに、ファイルのタグ情報を操れるのは、WSHのメソッドであることが解かってきた。今までスクリプトと呼んでいたのはVBSのことだ。VBSはWSHの環境の中で動作する。VBSから渡された命令をWSHが動かしている。スクリプトを動作させるためには、いくつかの解からないこと、そしていくつかの問題点もあった。それについては、「その2」で記述することにする。