色彩を教える人になるための講座「色彩講師養成講座」の魅力とは>>

お世話になります。

開発環境:VisualBasic.net 2005

名前を指定したフォルダが空のフォルダであるならばそのフォルダを削除し、
ファイルが存在すれば処理を行う。
という記述を書こうとしているのですが、
どのように書いてよいのか悩んでいます。

If フォルダ名=からのフォルダであるか Then
***フォルダの削除処理***
Else
***処理***
EndIF

1.指定フォルダの中のファイルを一覧表示し、一覧に何も表示されなかったTrueとする

2.IO.Directory.Delete("C:\TestFolder")
 でエラーが帰ってこなければTrueとする

3.何か適切な関数があるかもしれないので探してみる

ということを考えたのですが、最適な方法があればご教授お願いいたします。

gooドクター

A 回答 (2件)

1と2の応用で、



サブフォルダの数
> System.IO.Directory.GetDirectories("C:\TestFolder").Length

と、ファイルの数
> System.IO.Directory.GetFiles("C:\TestFolder").Length
の合計が0なら、フォルダは空とみなす。

とかはどうでしょう?
    • good
    • 0
この回答へのお礼

dsuekichi様

早速のご回答ありがとうございます。
教えていただたコードで実行してみたところ見事処理を行えました。
大変感謝しております。

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

お礼日時:2006/12/01 16:21

2.で良いと思います。



1.は、空のフォルダの時でも一覧を取ると「.」と「..」が返され、スキップ処理が面倒です。

3.API関数「SHFileOperation」でもフォルダの削除が出来ますが、これは「フォルダが空でなくても中身ごとゴミ箱に捨てられる」ので、お勧めできません。
http://yokohama.cool.ne.jp/chokuto/urawaza/api/S …
    • good
    • 0
この回答へのお礼

chie65536様
ご回答ありがとうございます。
教えていただいたサイトも大変勉強になりました。

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

お礼日時:2006/12/01 17:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング