お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

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

ブログ(Blog)

その他

関連サイト

: 個別エントリー・アーカイブ :

2006年10月16日

DeleteFolderメソッド問題の解決策(3) 仮説崩壊

前回のブログで DeleteFolderメソッドを実行すると フォルダ名までも消されてしまう という問題について、とりあえずの解決方法に辿り着いた。 実はこの一連のブログを実際に書いてみて 新たに気付いたことがあったのでそれについてのレポート。

自分のバックアップ・スクリプトをコーディングしている際に 出くわした この問題、 実際に前回のブログのような方法で解決させた。 そしてその結果、自分としては、 「DeleteFolderメソッドに引数で与えた文字列の内容(インスタンス)が 消されてしまうものだ」と思い込んでいた。 そのため、このことをレポートするブログを書くために、 当初、以下のような実験スクリプトを用いて解説するつもりだった。
//
//  フォルダ削除実験スクリプト 初期バーション WSH(JScript)
//
// FileSystemObject オブジェクトの作成
var FSO = WScript.CreateObject("Scripting.FileSystemObject");

// 削除するフォルダ名
// (実際はGetFolderメソッドから取得)
var DelFolderName = "test";

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

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

このスクリプトでは、フォルダ名が決めうちされているので 実行するカレント・フォルダ下に 事前に「test」というサブフォルダを作成しておかなければならないが、 実際に実行してみた。 すると、フォルダ削除後にも関わらず、 フォルダ名が表示されてしまった。

ということは、自分が立てた 「DeleteFolderメソッドに引数で与えた文字列の内容(インスタンス)が 消されてしまうものだ」 という仮説が覆されてしまったわけだ。 それから 慌てて 元になったスクリプトを見直して 新たに実験スクリプトをいくつか書いて実験した結果 辿り着いた結論は 「GetFolderメソッドによって抽出されたフォルダ名のインスタンスは、 DeleteFolderメソッドにより、そのフォルダが削除されるのと同時に削除される」 ということだった。 それに基づいて書いた実験スクリプトが 以前のブログ 「DeleteFolderメソッドで フォルダ名も消える謎」 にあるスクリプトである。

カテゴリー: プログラミング     2006年10月16日 22:03

トラックバック

このエントリーのトラックバックURL:
http://www.skymerica.com/blog/yotsumoto/mt/mt-tb.cgi/589


コメント

コメントしてください




保存しますか?


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