特定ディレクトリ内のファイル一覧を出して img タグにする

2014/03/01

画像ディレクトリ内に沢山画像が入っていて、この画像全てを img タグなどにしてまとめて書く必要がありまして。数個なら手作業でもいいのですが数百個になってくると手作業じゃやってられないので、できるだけ楽をするべく以下のようにしました。

画像名の一覧をテキストファイルに出力

Windows で特定のディレクトリ内にあるファイルリストが欲しいなーという場合は、コマンドプロンプトから一気に書き出すのが楽かなと思います。書き出すコマンドは次の通り。

dir /b >>list.txt

たとえば、C:\sample\img\ 内のファイル一覧を書き出したかったら、

[現在位置]>cd C:\sample\img\
C:\sample\img\>dir /b >>list.txt

こんな感じで OK。

「dir」はファイル名の一覧を見るコマンドで、「/b」はファイル名だけ書き出すという意味。その内容をテキストファイルとして保存したかったので「>>list.txt」。

Windows TIPS:dirコマンドでファイル名の一覧を取得する – @IT

エクセルで整形

書き出したテキストファイルから画像名一覧をエクセルに貼り付けて、テキストを足してタグを一気に作成しました。 <img src="" .. とか。

テキストファイルからエクセルへはコピペで一発なので超楽ちん。あとはちょいちょいエクセルで文言を足していくようにするのですが、これも 1 つ作ればあとはドラッグしてコピーすればいいだけです。

imgexcel

上図のようにガガガーっと必要なものを書いて、足していっちゃいます。

エクセルで文章を足すときは「=A1&B1」のように、「&」で繋げれば OK。この例で書き出したのは次のようなコード。


画像名(D 列)、対応する説明文(B 列)、画像の縦横のサイズ(I 列と K 列)が可変で、その他は固定です。「=A1&B1」をそのまま縦に複製していくと「=A2&B2」というように対応する下の行を参照するようになるのですが、固定のところは常に変わって欲しくないので「$」をつけます。

たとえば「A1」を固定で使いたい場合、「A1」と書くところを「A$1」と書けば縦に複製していっても常に「A1」のセルを参照してくれます。ちょっと便利。

今回の場合は「C2」「E2」「F2」「G2」「H2」「J2」「L2」が固定でした。固定にしてしまえば行ごとに書かないで済むのでコピペの手間すらかかりません。修正するときも一箇所で良いので楽です。

おわり

未来の自分のためにメモ。ホントすぐ忘れてしまって、自分の脳みそが信用ならない…。