ファイル名に画像の幅x高さを追加したいNo.06076
hawk-eye さん 16/06/13 21:23
 
Windows 10 Pro (64ビット版)
秀丸ファイラーClassic Version 1.20 Beta 20 (64ビット版) 使用


●画像ファイルの大きさ(幅x高さ)をファイル名に追加したい

画像ファイルの大きさ(幅x高さ)をファイル名に追加したいのですが、
画像ファイルの大きさ(幅x高さ)など、特定の項目を意味するものを用意するなど
して、
「名前の変更」で追加できるようにできないでしょうか?

画像ファイルの大きさ(幅x高さ)を意味するものと正規表現を使って、
任意の箇所に画像ファイルの大きさ(幅x高さ)を追加するという感じです。

できれば「幅」と「高さ」の値を分けて指定できると、
ファイル名に追加する時の書式の自由度が上がるので、なお良いと思います。


●詳細表示で表示されている項目値をコピーしたい

詳細表示の場合に、表示されている項目の項目値をコピーできるようにできないでし
ょうか?

例えば、詳細表示で画像の幅x高さの「大きさ」が表示されている場合、
任意のファイルの「大きさ」の値をマウスでドラッグしてコピーできれば、
そのファイル名を変更する時に、貼り付ける事ができるようになるというわけです。

もちろん、ファイル名以外の項目値に対しては、
マウスでドラッグしてコピーができるだけで、入力を試みたり変更はできません。


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

以上


[ ]
RE:06076 ファイル名に画像の幅x高さを追No.06078
秀丸担当 さん 16/06/14 14:57
 

ファイルの各種プロパティをコピーしたり、名前の変更に使えたりできたらいい
と思います。
いろいろできたらいいということでご意見参考にさせていただきます。

参考までの情報として、現状でやるとしたら、スクリプトを作ることが考えられ
ます。
例えば以下のようなスクリプトをc:\folder\test.jsとして作って、ブックマー
クなどに「js:c:\folder\test.js」として登録しておくと幅をコピーすることが
できます。(詳細表示のカラムに幅があれば)

  //test.js
  var strTarget="幅";
  var s="";
  var iItem=GetNextItem(-1,2);
  if(iItem>=0){
    var cCol=GetColumnCount();
    for(iCol=0;iCol<cCol;iCol++){
      if(GetColumnText(iCol)==strTarget){
        break;
      }
    }
    if( iCol < cCol ) {
        while( iItem >= 0 ) {
          s=s+GetItemText(iItem,iCol)+"\r\n";
          iItem=GetNextItem(iItem,2);
        }
    }
    SetClipboard(s);
  }

[ ]
RE:06078 ファイル名に画像の幅x高さを追No.06079
hawk-eye さん 16/06/14 17:04
 
詳細表示のカラムには「大きさ」を表示しているので
教えて頂いたスクリプトの「幅」を「大きさ」に変更して確認しました。

前後に訳の分からないものが付加されているようですけど、
「大きさ」を得る事はできました。

ありがとうございました。

[ ]
RE:06076 ファイル名に画像の幅x高さを追No.06085
hawk-eye さん 16/06/20 09:09
 
浮かんだアイデアを書いただけなので、回答はされなくても結構です。

>画像ファイルの大きさ(幅x高さ)など、特定の項目を意味するもの
と書きましたが、「名前の変更(置換)」でそれを表すものは、
ファイル名に使えない文字が利用できるような気がします。

現時点では、ファイル名に使えない文字を「置換文字列」に入力すると
半角のアンダーバーに置き換わりますが、
秀丸ファイラーの仕様として、ファイル名に使えない文字のどれをここで利用するか
決めてもらい、
例えば、ファイル名に使えない文字の<>が利用できる仕様だとしたら、
「置換文字列」に<大きさ>と入力すると、プロパティの「大きさ」の内容値に置き換
わるという感じです。

ファイル名に使えない文字は他のものでも良いですが、
"大きさ"などのように、項目名を囲む方法が良いと思います。

もし、辻褄が合わない部分があった場合は、従来通り半角のアンダーバーで良いと思
います。
例えば、<大きさ>>だとしたら、二つ目の>は半角のアンダーバーになる。

以上

[ ]