隠しファイルにするには?No.03948
styth さん 13/04/02 10:12
 
 あるフォルダの拡張子を見て、例えば、txt以外のファイルは、全て隠しファ
イルにしたいとします。
 マクロだとどうやれば良いんでしょうか?
 よろしくお願いします。

[ ]
RE:03948 隠しファイルにするには?No.03950
秀丸担当 さん 13/04/02 11:26
 

秀丸ファイラーClassicのスクリプトによるファイル操作は、vbsやjscriptと同
じなので、一般にWeb検索して得られるようなスクリプトを使うこととほぼ同じ
になってきます。

例えばブックマークのパスに
C:\Folder\test.vbs "%d"
として登録しておくと、現在のフォルダのパスをパラメータに渡して、一般の
wscript.exe上で動くことを想定したvbsやjsを実行できます。


しいて秀丸ファイラーClassic専用のスクリプトとして書くとしたら、以下のよ
うな感じになります。
ブックマークのパスには「c:\folder\test.js」ではなく「script:c:\folder\
test.js」として登録します。

//c:\folder\test.js
objFso=new ActiveXObject("Scripting.FileSystemObject");
cItem=GetItemCount();
for(iItem=0;iItem<cItem;iItem++){
  if(IsFolder(iItem)){
    continue;
  }
  strPath=GetItemPath(iItem);
  if(objFso.GetExtensionName(strPath).toLowerCase()!="txt"){
    objFso.GetFile(strPath).Attributes |= 0x02;
  }
}

これはファイルシステムというより秀丸ファイラーClassicに対しての操作なの
で、設定やワイルドカードによって今現在ファイル一覧に表示されているものが
対象です。
そうではなく、ファイル一覧に表示されていないものを含めてファイルシステム
の操作をするとしたら、現在のパスを表すのにGetDirectoryメソッドと使うだけ
で、あとは一般のvbs/jsと同じになります。

[ ]