パスのコピーで更新日時もコピーしたいNo.02719
styth さん 12/02/25 07:11
 
 「パスをコピー」というコマンドがあるんですが、この時、更新日時もコピー
したいのですが、どうすれば良いんでしょうか?
 よろしくお願いします。
 コマンドが無ければ、要望ということで、お願いします。
 実際には、フォルダ内の全ファイルを一覧を作りたいときに使います。

[ ]
RE:02719 パスのコピーで更新日時もコピーNo.02725
秀丸担当 さん 12/02/27 09:36
 

> 「パスをコピー」というコマンドがあるんですが、この時、更新日時もコピー
>したいのですが、どうすれば良いんでしょうか?

スクリプトを作るといろいろなことができます。
ヘルプのスクリプトの例のところにコピー方法の例があって、参考にしてみてほ
しいです。
ライブラリにも一応登録してあります。

 詳細表示をTSV化してクリップボードにコピー
 http://hide.maruo.co.jp/lib/hmfcscript/copyfiledetailtsv.html

上記はすべてのカラムですが、選択された項目のフルパスと更新日時だけという
場合は以下のようにしてできると思います。
これを例えば c:\folder\test.js に保存して、ブックマークまたはツール項目
のパスの右側の「>>」から「スクリプトの参照」で指定します。

  //test.js
  var s="";
  var iItem=GetNextItem(-1,2);
  var cCol=GetColumnCount();
  if(iItem<0){
    Message("選択がありません");
  }else{
    while( iItem >= 0 ) {
      s=s+GetItemPath(iItem);
      s=s+"\t";
      for(iCol=0;iCol<cCol;iCol++){
        if(GetColumnText(iCol)=="更新日時"
         ) {
          s=s+GetItemText(iItem,iCol);
        }
      }
      s=s+"\r\n";
      iItem=GetNextItem(iItem,2);
    }
    SetClipboard(s);
  }

 

[ ]
RE:02725 パスのコピーで更新日時もコピーNo.02773
styth さん 12/03/07 18:25
 
>  //test.js
 を実行したところ、フルパスがコピーされました。
 ファイル名だけにするには、どうすれば良いんでしょうか?
 よろしくお願いします。

[ ]
RE:02773 パスのコピーで更新日時もコピーNo.02777
秀丸担当 さん 12/03/08 08:53
 

>>  //test.js
> を実行したところ、フルパスがコピーされました。
> ファイル名だけにするには、どうすれば良いんでしょうか?
> よろしくお願いします。

フルパスからファイル名部分だけにするには、秀丸ファイラー独自のメソッドと
しては無いですが、vbs/jsなどの一般的な手法のFileSystemObjectを使うとでき
ると思います。
例えば以下のようにするといいと思います。

  //test.js
  var objFso = new ActiveXObject("Scripting.FileSystemObject");
  var s="";
  var iItem=GetNextItem(-1,2);
  var cCol=GetColumnCount();
  if(iItem<0){
    Message("選択がありません");
  }else{
    while( iItem >= 0 ) {
      s=s+objFso.GetFileName(GetItemPath(iItem));
      s=s+"\t";
      for(iCol=0;iCol<cCol;iCol++){
        if(GetColumnText(iCol)=="更新日時"
         ) {
          s=s+GetItemText(iItem,iCol);
        }
      }
      s=s+"\r\n";
      iItem=GetNextItem(iItem,2);
    }
    SetClipboard(s);
  }

 

[ ]
RE:02777 パスのコピーで更新日時もコピーNo.02783
styth さん 12/03/08 18:07
 
 endmacroに相当するコマンドは無いでしょうか?

今日教えて頂いたjs
endmacro
昨日教えて頂いたjs

 という風に記述して、残しておきたいのですが。
 //にする手もあるとは思うのですが。


[ ]
RE:02783 パスのコピーで更新日時もコピーNo.02786
秀丸担当 さん 12/03/09 09:28
 

> endmacroに相当するコマンドは無いでしょうか?

そのままEndMacroというメソッドがあります。

jsの場合は
EndMacro();

vbsの場合は
EndMacro

と書くとできると思います。

[ ]