【问题标题】:Why is Windows not displaying confirmation while deleting read only folders?为什么 Windows 在删除只读文件夹时不显示确认?
【发布时间】:2014-09-25 00:53:55
【问题描述】:

我有一个文件夹"I:\mydir",它是read only。执行以下代码后:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim subPath = "I:\mydir"
   Try
    Directory.CreateDirectory(subPath)
    Directory.Delete(subPath)
    Dim directoryExists = Directory.Exists("I:\mydir")
    Dim subDirectoryExists = Directory.Exists(subPath)
    Console.WriteLine("top-level directory exists: " & directoryExists)
    Console.WriteLine("sub-directory exists: " & subDirectoryExists)
   Catch ex As Exception
    Console.WriteLine("The process failed: {0}", ex.Message)
   End Try
  End Sub

目录被删除而不询问任何确认消息(“您确定要将此文件夹移动到回收站吗?”)。

然后我拒绝了该文件夹的所有访问权限并再次执行相同的代码。但这一次并没有被删除。并抛出异常为"access is denied"

那么,为什么在删除普通目录和只读目录之前没有显示任何确认消息?

【问题讨论】:

  • 你必须编写请求权限的代码。
  • @ the_lotus :我不是在说 vb_alert 进行确认:我的问题是为什么 windows(OS) 没有显示确认消息
  • 这是通过向您抛出异常。然后你必须自己提示用户并询问他们。或者在尝试删除之前进行检查。
  • @ the+lotus :我的问题是为什么操作系统不显示确认消息不是如何显示确认消息)用于删除硬盘中的文件夹。一般情况下,文件夹或文件只有在确认后才会被删除。
  • 操作系统不显示消息,这是您的工作。当您使用 Windows 资源管理器时,显示消息的是应用程序,而不是操作系统。

标签: vb.net directory


【解决方案1】:

您正在做的是通过 System.IO 删除,如果您愿意,这需要您执行此类操作。您正在寻找的是在 My.Computer.FileSystem 命名空间下。此示例将文件发送到回收站并确认。

My.Computer.FileSystem.DeleteFile("C:\temp\TestDelete.txt", FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多