お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2006年10月18日

2006年10月18日

DeleteFolderメソッド問題の解決策(5)仮説実証編

DeleteFolderメソッド問題の記事が続いているが、 さらに最後にもうひとつ。

前々回のブログ 「DeleteFolderメソッド問題の解決策(3) 仮説崩壊」 において、自分が立てた新たな仮説 「GetFolderメソッドによって抽出されたフォルダ名のインスタンスは、 DeleteFolderメソッドにより、そのフォルダが削除されるのと同時に削除される」が 正しいかどうか確認するスクリプトを書いてみた。
//
//  フォルダ削除実験スクリプト5 WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// GetFolderメソッドからフォルダ名を抽出
//   実際は、きちんとリストしないといけませんが
//   ここでは省略して最初に見つかったひとつのサブフォルダだけを扱います。
folderNameEnu = new Enumerator( FSO.GetFolder(".").SubFolders );
var DelFolderName = new String( folderNameEnu.item() );

// 削除前にフォルダ名の表示
WScript.Echo( "削除前の DelFolderName は " + DelFolderName + " です。");
WScript.Echo( "削除前の folderNameEnu.item() は " + folderNameEnu.item() + " です。");

// フォルダの削除
FSO.DeleteFolder(DelFolderName, true);

// 結果の表示
WScript.Echo( "削除後の DelFolderName は " + DelFolderName + " です。");
WScript.Echo( "削除後の folderNameEnu.item() は " + folderNameEnu.item() + " です。");
ご注意:このスクリプトを実行すると、カレント・フォルダの下にあるサブフォルダをひとつ、 実際に削除してしまいますので、お取り扱いには十分にご注意ください。

内容は単に、DeleteFolderを呼ぶ前後で、 folderNameEnu.item() の値を直接表示させて その内容を確認しているだけのことである。 これを結果がわかりやすいように コマンド・プロンプトから cscript で実行してみると
C:\WSH>dir /w
 Volume in drive C is WD2500
 Volume Serial Number is D486-2A1E

 Directory of C:\WSH

[.]         [..]        delete.js   [test]
               1 File(s)            860 bytes
               3 Dir(s)  123,581,857,792 bytes free

C:\WSH>cscript delete.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

削除前の DelFolderName は C:\WSH\test です。
削除前の folderNameEnu.item() は C:\WSH\test です。
削除後の DelFolderName は C:\WSH\test です。
削除後の folderNameEnu.item() は  です。

C:\WSH>dir /w
 Volume in drive C is WD2500
 Volume Serial Number is D486-2A1E

 Directory of C:\WSH

[.]         [..]        delete.js
               1 File(s)            860 bytes
               2 Dir(s)  123,581,857,792 bytes free

C:\WSH>
となった。 削除後の folderNameEnu.item() の表示だけが 空白になっている。 このことから 前述の仮説が正しいであろうと考えられる。

カテゴリー: プログラミング     22:03 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.