任意の項目を設定できるようにして欲しいNo.05713
hawk-eye さん 15/11/05 10:40
 
Windows 8.1 Pro (64ビット版)
秀丸ファイラーClassic Version 1.14 (64ビット版) 使用

現在、詳細表示で設定できる項目名がありますが、
新たな項目名を設定できるようにして欲しいです。

用途としては、画像ファイル、音楽ファイルを考えていますが、
例えば、画像ファイルで言えば、被写体の情報なのですけど、
被写体が商品の場合、型、色など、いろいろな情報を項目として設定し、
それらの項目でソートできるという感じです。

そこで2つの方法を考えてみたのですが、
最初にA案を考えついたのですけど、B案の方が良いような気がしています。

以下で述べる任意の項目は、設定できる数が多ければ多いほど良いです。

●A案

パス名、ファイル名、任意の項目の情報を管理するファイル(CSVファイル、TSVファ
イルのいずれか)を一つ設定できるようにし、
そのファイルの1行目が各項目名、2行目以降が項目の内容値で、
A列がパス名、B列がファイル名、C列以降が任意の項目、
あるいは、A列がパス付きファイル名、B列以降が任意の項目となり、
フォルダのカスタマイズで任意の項目を追加できる。

この管理ファイルへの入力は、画像などのファイルを選択して、
コンテキストメニューで任意の項目用のメニューを選ぶと画面が現れ、
選択したファイルの各列に入力・変更・削除ができる。
複数ファイルを選択した場合は、同じ列に同じ内容をまとめて入力できる。削除も可。

管理ファイルに書かれている画像などのファイルが、
ファイルやフォルダの移動、ファイル名やフォルダ名の変更、ファイルやフォルダの
削除がされた場合は、
管理ファイル内のパス名やファイル名も変更される。



もし、ファイルやフォルダの移動、ファイル名やフォルダ名の変更、ファイルやフォ
ルダの削除などに対応できないのであれば、
管理ファイルは、フォルダ単位で用意する仕様にし、
任意の項目を追加したいフォルダに管理ファイルを置く。
この場合、管理ファイル内にパス名は不要となる。

管理ファイルの名前は、先頭や末尾の数文字を設定できるなど、何らかのルールを設
け、
他のフォルダにある管理ファイルと異なるファイル名にできるようにした方が良いか
もしれない。

ファイルの移動、ファイル名の変更、ファイルの削除がされた場合は、
管理ファイル内に存在しないファイルの情報が残りますが、
管理ファイル内を整理する機能を用意して、存在しないファイルの情報を削除できる
ようにする。



エクスプローラーなど、秀丸ファイラー以外で、
ファイル(やフォルダ)の移動、ファイル名(やフォルダ名)の変更、ファイル(や
フォルダ)の削除がされた場合も、
管理ファイル内に存在しないファイルの情報が出来てしまいますが、
画像管理ソフトを使って管理していたとしても同じ事になると思うのでやむを得ない
ものとする。
こういう場合にも備えて管理ファイル内を整理する機能が必要。


●B案

ファイル名の一部を任意の項目として利用する為に、区切り文字となるものを設定で
きるようにする。

例えば、_(半角のアンダーバー)を区切り文字に設定した場合、
ABC_DEF_GHI.jpgというファイル名であれば、
「名前」という項目は今まで通りなのですけど、
「名前1」、「名前2」、「名前3」という項目名をフォルダのカスタマイズで追加す
ると、
「名前1」の項目には「ABC」、「名前2」の項目には「DEF」、「名前3」の項目には
「GHI」が表示される。

ファイル名の一文字目が区切り文字の場合は、「名前1」は空欄となり、
区切り文字が連続する場合は、その間の項目「名前No」は空欄となる。

「名前1」、「名前2」、「名前3」…は、任意の項目名を設定できると良い。

ファイル名が変更された場合は、表示されている任意の項目の内容値も必要に応じて
更新する。




※余談
理想としては、任意の項目でソートした順番で閲覧できたり、
任意の項目毎に指定した条件に合致するものだけを閲覧できるなど、
いろいろな閲覧の仕方ができる画像閲覧ソフトがあると良い。


よろしくお願い致します。

以上

[ ]
RE:05713 任意の項目を設定できるようにしNo.05714
秀丸担当 さん 15/11/05 15:23
 

情報を埋め込むという意味では、画像や動画などのファイルではコメントを埋め
込むことができる形式が多いです。
例えばjpegファイルのプロパティから、コメントを書くことができます。
カラムに「コメント」を追加しておくと表示されます。(「利用できるすべての
プロパティ」の「概要」の分類)

どんな形式であっても情報を付加するとしたら、A案の独自形式のファイルを作
るよりかは、B案の区切り文字であれば安心して使えると思います。
あるいは複数の拡張子があるかのように名前を付けることがあり、"."を区切り
としてもいいかもしれません。
例:
"filename.tar.gz"
"filename.exe.manifest"
"filename.txt.bak"
これは実際には拡張子ではなく、ファイル名部分に"."があるだけなので、"."を
区切り文字とすると用途がいろいろあると思います。
そういうこともできたらいいということで、ご意見参考にさせていただきます。

ちなみにNTFSのファイルシステムでは別情報を埋め込むためにサブストリーム
(副ストリーム)というものもあり、技術的には何も影響を与えずに情報を埋め込
むこともできるようです。
しかし情報が失われやすいせいか、あまり使われることがないようです。

[ ]
RE:05714 任意番目の区切り文字間を置換しNo.05754
hawk-eye さん 15/11/26 21:20
 
B案が実現するかどうかはともかく、
自分で区切り文字として決めた文字を使って
画像ファイルの名前をその通りにしていこうと思うのですが、
最初にそのファイル名にする時は良いのですけど、
後からそれらのファイル名を変更する場合、
名前の変更(置換)で、任意番目の区切り文字とその次の区切り文字の間を
置換する事はできるのでしょうか?

例えば、区切り文字が.(半角ピリオド)だとして、
名前の変更(置換)で、以下の3つのファイル名をまとめて置換する場合、
3つ目と4つ目の.(半角ピリオド)の間をzzにするには
どのようにしたら良いのでしょうか?

aaa.bbb.ccc.ddd.jpg
eeee..ffff.gggg.jpg
xx.yy...jpg

  ↓置換

aaa.bbb.zz.ddd.jpg
eeee..zz.gggg.jpg
xx.yy.zz..jpg

よろしくお願い致します。

以上

[ ]
RE:05754 任意番目の区切り文字間を置換しNo.05755
hawk-eye さん 15/11/26 21:59
 
>3つ目と4つ目の.(半角ピリオド)の間をzzにするには
>どのようにしたら良いのでしょうか?

間違っていたので次の通り訂正させて頂きます。

2つ目と3つ目の.(半角ピリオド)の間をzzにするには
どのようにしたら良いのでしょうか?

[ ]
RE:05754 任意番目の区切り文字間を置換しNo.05756
hawk-eye さん 15/11/27 07:06
 
どのような回答になるか分からないので、
追加と削除の場合も提示しておきたいと思います。


例えば、3つ目の.(半角ピリオド)の直後に.(半角ピリオド)一つを追加する。

aaa.bbb.ccc.ddd.jpg
eeee..ffff.gggg.jpg
xx.yy...jpg

  ↓置換

aaa.bbb.ccc..ddd.jpg
eeee..ffff..gggg.jpg
xx.yy....jpg


例えば、2つ目と3つ目の.(半角ピリオド)の間の内容と
2つ目か3つ目いずれかの.(半角ピリオド)一つを削除する。

aaa.bbb.ccc.ddd.jpg
eeee..ffff.gggg.jpg
xx.yy...jpg

  ↓置換

aaa.bbb.ddd.jpg
eeee..gggg.jpg
xx.yy..jpg

以上

[ ]
RE:05756 任意番目の区切り文字間を置換しNo.05758
秀丸担当 さん 15/11/27 11:08
 

正規表現を使った置換をするとできると思います。
「名前の変更(置換)」で「正規表現」をONにすると、秀丸エディタなどでも使え
るような正規表現を使うことができます。

例えば検索文字列は「^([^.]*)\.([^.]*)\.([^.]*)\.([^.]*)」として、
置換文字列はそれぞれの例で、「\1.\2.zz.\4」や「\1.\2.\3..\4」や
「\1.\2.\4」といったように、()でくくられた部分を\1のように数値で記述する
方法があります。

[ ]
RE:05758 任意番目の区切り文字間を置換しNo.05759
hawk-eye さん 15/11/27 12:59
 
出来ました。
お手数おかけして申し訳ありませんでした。
そして、ありがとうございました。

[ ]