如果在别处锁定,则重命名/移动目录

时间:2015-01-14 12:04:09

标签: c# file-io

我有一个C#winform app。

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

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

如果文件资源管理器处于打开状态且“mydir'选中它将返回权限错误。

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

感谢

1 个答案:

答案 0 :(得分:0)

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

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

你应该这样做吗:否

为什么:正如 James Thorpe 在评论中所建议的如果它是一个程序,在保存大型文档的一半时,如果你杀了它,你就会&#39 ;有一个可能已损坏的文件。