←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ

[HMM0062A]

●フォルダの存在を確認したい

Q. existfile() 関数を使えばファイルの存在を確認できるようですが、フォルダの存在を確認する事はできないですか?

A. existfile() 関数の引数にフォルダ名+"nul"を指定すればよいです。
if( existfile("c:\\temp\\nul") )
message "c:\\temp フォルダは存在します。";
また、ちょっと面倒ですが「秀まるおのマクロサーバ」を使ってもできます(秀丸エディタの作者サイドからはこちらが推奨されています)。
以下はそのサンプルです。
//------- サンプルマクロ -------//
// c:\temp というフォルダがあるかどうかを調べる
run hidemarudir + "\\macserv.exe";
ddeinitiate "HideMacroServer", "FileService";
ddeexecute "enumdir c:\\*.*";
##found = 0;
##i = 0;
while( 1 ){
$$folder[##i] = dderequest("findnext");
if( $$folder[##i] == "" ) break;
else if( $$folder[##i] == "temp" ){
##found = 1;
break;
}
##i = ##i + 1;
}
ddeexecute "exit";
if( ##found ) message "c:\\temp フォルダは存在します。";
else message "c:\\temp フォルダは存在しません。";
endmacro;
// ---------------------------- //
※このサンプルでは「秀まるおのマクロサーバ(macserv.exe)」が秀丸エディタのフォルダにインストールされている事を仮定しています。

←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ