UNCフルパス名の取得No.02137
江袋 さん 11/10/26 14:11
 
仕事上、ネットワークドライブのフルパス名をコピペすることが多々あるのですが、
その際、ドライブを伴うフルパスではなく、UNCフルパス名を取得したいのですが、
現状そのような方法はありますでしょうか?
もしないようでしたら、[編集]-[パス名のコピー]への追加を要望として上げさせて
頂ければと思います。

[ ]
RE:02137 UNCフルパス名の取得No.02138
秀丸担当 さん 11/10/26 14:50
 

>仕事上、ネットワークドライブのフルパス名をコピペすることが多々あるのですが、
>その際、ドライブを伴うフルパスではなく、UNCフルパス名を取得したいのですが、
>現状そのような方法はありますでしょうか?

現状ではスクリプトで一応できます。
例えば以下のスクリプトをc:\folder\test.jsとして保存して、ブックマークま
たはツール項目のパスに「script:c:\folder\test.js」として登録して実行でき
ます。
そういうコマンドもあったらいいということでご意見参考にさせていただきます。

  var objNetwork = new ActiveXObject("WScript.Network");
  var colDrives = objNetwork.EnumNetworkDrives();
  var s="";
  var iItem=GetNextItem(-1,2);
  if(iItem<0){
    Message("選択がありません");
  }else{
    while( iItem >= 0 ) {
      var sGet = GetItemPath(iItem);
      for( i = 0; i < colDrives.Count(); i += 2 ) {
        if( sGet.substring(0,2)==colDrives.Item(i)){
         sGet = colDrives.Item (i + 1) + "\\" + sGet.substring(3);
         break;
        }
      }
      s=s+sGet+"\r\n";
      iItem=GetNextItem(iItem,2);
    }
    SetClipboard(s);
    //Message( s );
  }

[ ]
RE:02138 UNCフルパス名の取得No.02145
江袋 さん 11/10/28 10:11
 
>現状ではスクリプトで一応できます。

ご回答ありがとうございます。さっそくスクリプトを試してみたのですが、以下のエ
ラーが発生しました。

'}'がありません。
行番号:20
エラーコード:0 / 0x800a03f1

ちなみに、ツールの整理でツールに追加し、そこから適当なネットワークフォルダー
にアクセスし、実行しました。
ご確認頂けると幸いです。

[ ]
RE:02145 UNCフルパス名の取得No.02147
秀丸担当 さん 11/10/28 10:23
 

>'}'がありません。
>行番号:20
>エラーコード:0 / 0x800a03f1

たぶんですが、ここに書かれたスクリプトをコピー貼り付けするとき、最後の
「}」のコピー漏れがあるのではないかと思います。
最後の「}」が無いスクリプトを実行したら同じエラーが出ました。

[ ]
RE:02147 UNCフルパス名の取得No.02149
江袋 さん 11/10/28 11:33
 
スクリプトを再度コピペしたところうまくいきました。
どうも、お騒がせいたしました。

[ ]