本当に簡単な質問があります。私のプログラムは実際にZipファイルをダウンロードし、それをデスクトップに抽出します。しかし、そのためのアンインストール機能が必要です。これは、基本的に複数のフォルダーを削除し、ファイルを含んでいることです。 vb.netでこれを行うにはどうすればよいですか?
すべてのフォルダが単一のフォルダに含まれている場合、それはかなり単純なはずです。
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\YOURPATH"
System.IO.Directory.Delete(path, True)
これにより、ルートディレクトリと、その下のすべてのディレクトリとファイルが削除されます。例の「YOURPATH」のように、ファイルとディレクトリがすべて1つのルートディレクトリにない場合は、数回呼び出すだけです。これにより、各ファイルを個別に削除する必要がなくなります。
.NET IOユニットには、トリックを実行できるようにする2つのコマンドがあります。
System.IO.Directory.GetDirectories("C:\\Program Files\\Your Directory\\*.*");
System.IO.Directory.GetFiles("C:\\Program Files\\Your Directory\\*.*");
ディレクトリの名前を取得し、「GetFiles」ルーチンを使用してすべてのファイルを取得し、foreachループでSystem.IO.File.Delete(path)を使用してそれらを削除するメソッドを記述します。次に、関数を再帰的に呼び出すGetDirectories()コマンドの結果に対してforeachループを実行します。
更新:Steve Dannerは、System.IO.Directory名前空間にDeleteメソッドがあるため、ここで説明するループを実行する必要がないことを指摘しています。 彼の答えは正しいものであり、投票する必要があります。この時点では、鉱山は好奇心の強いものです(ただし、賛成票をくれた人に感謝します; 0)。
あなたはDirectoryInfoを探しています、それを次のように使用してください:
Dim di As New IO.DirectoryInfo(path)
di.Delete(True)