2007/04/xxXREA.COMのs206サーバー内のサイトは、Yahoo!検索からペナルティを受け、検索結果で常に下位にランク付けされてしまうので、Yahoo!経由向けに用意したHSPミニ講座内のページです。このページは「http://lhsp.s206.xrea.com/hsp_folder.html」の昔のものです。モバ!?フォルダが存在するか調べるファイルの存在を確認するのにexist命令というのが用意されていますが、この命令でフォルダ(ディレクトリ)は扱えません。chdir命令やmkdir命令は、存在しないフォルダが指定されると、エラー12の「ファイルが見つからないか無効な名前です」ダイアログが表示されてプログラムは落ちてしまいます。HSP2では、skiperr命令を使って強制的にエラーを回避させることも可能でしたが、HSP3ではこの命令は一応削除された形になってます。使ったフォルダの有無を確認するサンプルコードです。filepathまた、これは言い換えれば、指定したパスがファイルなのか、フォルダなのかの判定もできます。(ファイルパスであればシステム変数statは常に0、フォルダであれば常に1が返ります)^中身のないフォルダの削除HSPのmkdir命令の逆バージョン、フォルダ(ディレクトリ)の削除です。ここで提示したサンプルはフォルダの中身が「空っぽ」の状態である必要があります。ファイル編のページを参照。^特殊フォルダのパスを取得dirinfo関数はWindowsフォルダやシステムフォルダなどが取得できます。HSP2でいうシステム変数windir、curdir、exedir、sysdir、cmdlineに相当するパスです。HSPのマニュアルには『p1に0x10000以上の値を指定した場合は、ビット0〜15までをCSIDL値として特殊フォルダの取得を行ないます』とあります。その特殊なフォルダ(ディレクトリ)をテキトーに拾ってみ〜るみる。HSP拡張プラグイン「hspext.dll」がサポートするfxdir命令と同等の結果を得られます。9x系の場合、最後あたりの項目は取得できないかもしれません。APIのSHGetSpecialFolderLocation関数を呼んでおり、ちょくとさんのページにそのCSIDL値リストが掲載されてるので参照してみてください。"+dirinfo($10028)最後に、テンポラリフォルダ(一時ファイル用のTempフォルダ)のパス取得です。拡張プラグインで提供されるfxdir命令では取得できますが、dirinfo関数では唯一取得不可なパスです。APIのGetTempPath関数を利用します。パスの区切り「\」記号が最後尾に付きます。