|
MoWとモウします。
秀丸のマクロで、マクロを起動したフォルダ内の任意の拡張子のファイルリスト
を表示しようとしているのですが、うまく行かない事がありますので、質問させ
て頂きます。
具体的なコードは以下の様な感じです。
//-------------------------------------------------//
// 検索対象拡張子を設定
$ext = "*.inc;*.f;*.f90;*.for";
// マクロサーバの起動
run "macserv.exe";
ddeinitiate "HideMacroServer", "FileService";
if( !result ) {
message "ddeinitiate failed.";
ddeexecute "exit";
endmacro;
}
// カレントディレクトリの移動
ddeexecute "setcurdir \"" + directory2 + "\"";
if( !result ) {
message "ddeexecute setcurdir failed.";
ddeexecute "exit";
endmacro;
}
// ファイル検索
#i = 0;
ddeexecute "enumfile " + $ext;
while(1) {
$fname[#i] = dderequest( "findnext" );
if( $fname[#i] == "" ) break;
#i = #i + 1;
}
ddeexecute "exit";
// Menu
menuarray $fname, #i;
endmacro;
//-------------------------------------------------//
$extに設定したワイルドカードでファイルを検索して、リストを表示しているの
ですが、上のコードの様に、
$ext = "*.inc;*.f;*.f90;*.for";
と指定すると、正確なファイルリストを表示してくれません(確かに存在するフ
ァイルを表示しない)。 おそらく拡張子の先頭文字が f で重複しているのが原
因だと思うのですが。同じような例では、
$ext = "*.txt;*.htm;*.html";
などもありますが、こちらもうまくいきません。
ぶっちゃけた話、
$ext = "*.inc;*.f*";
と指定すれば良いのですが、$extはユーザーによる設定を可能にしようと考えて
いるので、少々都合が悪い気がします。
何かいい方法はないでしょうか?それとも何かミスがあるのでしょうか?
ちなみに、マクロサーバはVer.1.4、秀丸はVer.3.05、OSはWindows98SEを使用し
ています。
あと田楽サーバは試したことがないのですが、上記の様な事は起こらないのでし
ょうか?
回答の程、よろしくお願いします。
|
|