有没有办法让资源管理器真正重命名文件而不是复制/删除?

有没有办法让资源管理器真正重命名文件而不是复制/删除?

为了防止自己意外删除重要文件,我为我的用户名赋予了对硬盘上某些文件夹的一些特殊权限(事实上,这些目录位于服务器上,但我们不要把事情弄得太复杂)。

我已使用 Windows 7 Pro x64 为此目的提供的常规 UI 设置了这些权限。我设置的权限如下:

我已设置的权限

理论上,这是可行的。我可以将文件和子文件夹复制到该文件夹​​中,之后无法删除它们。但事实上,由于以下怪异之处,这是无法使用的:

1. 我无法重命名文件或文件夹。当我尝试时,我收到“拒绝访问”消息。

这让我非常惊讶,因为(如您在屏幕截图中看到的)我只拒绝了“完全控制”、“删除子文件夹和文件”、“删除”和“取得所有权”权限。所以我问自己重命名与删除有什么关系。

这是由于 Windows 资源管理器的实现不合理吗,还是基本上是一个 API 问题?

2.我无法移动文件或文件夹。当我尝试时,我收到“拒绝访问”消息。

这对我来说更容易理解。毕竟,移动文件时,在移动过程结束时文件不会位于同一位置,因此有人可能会认为这是删除。不过,我想知道解决这个问题的方法。

3. 无法直接创建新文件或文件夹。

嗯,我确实可以,但这没用。例如,当我创建一个新文件夹时,它被命名为“新文件夹”,当我尝试将其名称更改为我需要的名称时,问题 1) 就会出现。

因此我的问题是:

有人知道允许我(最重要的)的配置或技巧吗?

  • 以防止自己删除文件或文件夹,但尽管如此

  • 重命名文件和文件夹

  • 移动文件和文件夹?

答案1

您的问题不在于 Explorer,而在于 Windows 及其工作方式。

您上面提到的权限是目录权限,而不是文件权限。这意味着要重命名文件,Windows 需要在目录中删除旧名称并创建新名称,这需要删除权限等。

因此,Windows 没有、也不需要“重命名”权限,并且没有任何软件产品可以提供该权限。

您需要修改使用这些文件的方式。也许可以创建脚本,在保留备份的同时执行重命名。也许可以与runas具有删除权限的另一个帐户上的命令一起使用。这些脚本甚至可以保留所有操作的历史记录,以防万一。

相关内容