VBScriptでの問題点(isFolder)No.02247
Makkie さん 11/11/18 12:58
 
秀丸ファイラーClassicのメソッド isFolder(num)ではフォルダで
ないと判定される(=0)が、FileSystemObjectのメソッドではフ
ォルダが存在すると判定されるケースがあります。

   Set objFSO = CreateObject("Scripting.FileSystemObject")
   で、objFSO.FolderExists(GetItemPath(num)) が True になる
   ケースです

isFolder(num)の結果が間違っているようです。

ほとんどこういうことにはなりませんが、Cドライブ直下の特定の
フォルダでこうなります(XP SP3)。この特定フォルダを処理し
たいわけではないので被害はないのですが、他にもこういうこと
が起こるのではと疑っています。

よろしくお願いします。


[ ]
RE:02247 VBScriptでの問題点(isFolder)No.02248
秀丸担当 さん 11/11/18 14:35
 

>秀丸ファイラーClassicのメソッド isFolder(num)ではフォルダで
>ないと判定される(=0)が、FileSystemObjectのメソッドではフ
>ォルダが存在すると判定されるケースがあります。

報告ありがとうございます。
試してみたところ、C:\直下は発見できなかたのですがC:\Windows配下のFontsフ
ォルダなど、「ファイルフォルダ」ではない「フォルダ」という種類フォルダで
うまくいっていませんでした。
IsFolderはファイルシステム上のディレクトリではなくシェルの名前空間上のフ
ァイルフォルダを返していて、ドライブやマイコンピュータなども1でしたが、
Fontsフォルダなどで0になったりして、実用上あまり意味が無いことになってい
ました。
仕様変更ということになりますが、ファイルシステム上のディレクトリを返すよ
うに修正させていただきます。

[ ]
RE:02248 VBScriptでの問題点(IsFolder)No.02276
Makkie さん 11/11/25 17:56
 
V1.01 b29 で正常動作する(IsFolderとFolderExistsの結果が
一致する)ことを確認しました。

ありがとうございました。

[ ]