如何:在 Visual Basic 中删除目录中的所有文件
更新:2007 年 11 月
使用 My.Computer.FileSystem 对象的 DeleteFile 方法可以删除文件。该方法提供的选项包括:是否将已删除文件发送到“回收站”,是否请求用户确认应删除文件,当用户取消该操作时执行哪些操作。
删除文件夹中的所有文件
使用 My.Computer.FileSystem.GetFiles 方法可以返回表示目录中文件的字符串集合。
将 For…Each 循环和 DeleteFile 方法一起使用可以依次删除各文件。
下面的示例将删除“我的文档”文件夹中的所有文件。
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _ My.Computer.FileSystem.SpecialDirectories.MyDocuments, _ FileIO.SearchOption.SearchAllSubDirectories, "*.*") My.Computer.FileSystem.DeleteFile(foundFile, _ FileIO.UIOption.AllDialogs, _ FileIO.RecycleOption.DeletePermanently) Next
可靠编程
以下情况可能会导致异常:
路径由于以下原因之一而无效:是零长度字符串;仅包含空白;包含无效字符;是一个设备路径(以 \\.\ 开头)(ArgumentException)。
路径无效,因为它是 Nothing (ArgumentNullException)。
路径超过了系统定义的最大长度 (PathTooLongException)。
路径中的文件名或文件夹名包含冒号 (:),或格式无效 (NotSupportedException)。
该文件正在使用 (IOException)。
该用户缺少查看该路径所必需的权限 (SecurityException)。
该文件不存在 (FileNotFoundException)。
该用户没有删除该文件的权限,或者该文件为只读 (UnauthorizedAccessException)。
在部分信任的情况下,用户没有足够的权限 (SecurityException)。
用户已取消该操作并且 onUserCancel 已设置为 UICancelOption.ThrowException (OperationCanceledException)。