因此如果用户做了类似的事情
cd super_important_directory
del /s /q *.*
在命令提示符中,Windows 是否会将这些文件推送到回收站?它们是否被永久删除,唯一的恢复选项是使用专门的软件?
答案1
简短答案
不可以,从命令行删除的文件无法恢复,并且是“永久”删除。
答案不太简短
该del
命令不会擦除文件的数据部分,它仅从文件系统中删除条目。
这意味着使用专门的软件,恢复可能如果没有其他内容覆盖磁盘的该区域(就系统所知,该区域现在是“可用”空间),则有可能。
相比之下,回收站只是一个移动文件的地方,因此文件系统仍然知道它们的存在。
你可以做什么:
阻止用户这样做的最好方法是阻止他们删除文件。
查看文件的权限:
- 右键单击该文件。
- 选择特性。
- 点击安全标签。
最好的办法是,通过更改权限并删除Modify
和,完全阻止他们修改它们Write
。
如果用户必须能够修改文件,那么可以使用更详细的权限来防止删除但仍允许修改。
要获取高级权限,请点击先进的在安全选项卡中。
您可以保留授予的权利Modify
,然后取消选中Delete
权限。
确保他们也没有Delete Subfolders and Files
父文件夹的权限,否则他们无论如何都可以删除该文件。
更多细节
看如何在 Windows XP 中设置、查看、更改或删除文件和文件夹的特殊权限(适用于任何使用 NTFS 的 Windows 版本)。
答案2
不,我不这么认为。我这样做之后del foobar.txt
,在垃圾箱里找不到 foobar.txt。命令行被认为是“专业人士”的工具。另外,您也不希望使用批处理文件删除的所有文件都保留下来,直到用户觉得需要最终清空垃圾箱。通常,用户甚至不知道某个批处理文件删除了某些内容。
在 Linux 下,您可以为命令创建别名rm
并将其重定向到其他命令,或者设置其他选项。例如,您可以让它询问“您确定吗”。但我不知道 Windows 上是否有别名之类的东西。
您还可以限制普通用户的 cmd 访问权限。无论如何,我不相信他们会去删除系统文件。