重命名/移动目录(如果锁定在其他地方)



我有一个C#通知应用程序。

我有一个目录 'd:\mydir'

在我的代码中,我将其重命名为"d:\mydir2"

如果文件资源管理器处于打开状态并选择了"mydir",它将返回权限错误。

是否可以覆盖此拒绝的权限并强制重命名它,而不管任何其他外部应用程序/进程正在访问同一目录(或/及其内容)?

谢谢

可能:是(假设您具有管理员权限)

  • 获取所有流程Process[] processlist = Process.GetProcesses();
  • 按标题标签过滤掉从该目录运行的进程(风险)
  • 强行(或显示用户的弹出意见)关闭那些过程
  • 关闭文件资源管理器窗口
  • 重命名目录

你应该这样做:不

为什么 : 正如詹姆斯索普在评论中建议的那样 如果它是一个保存大文档的中途的程序,如果你杀死它,你有一个可能损坏的文件。

相关内容

最新更新