Man*_*dye 7 permissions rm file-corruption windows-10
今天,当我尝试使用 WinRAR 反编译 .apk 文件时,出现错误并终止解压缩。之后,当我尝试删除文件夹时,我收到一个错误,即我没有文件夹的所有权,即使我提供了管理员权限。
当我尝试删除它时,图像中文件的文件和父文件夹都会出错。
然后我尝试通过命令在管理员模式下使用 cmd 执行相同的操作:
rm -d 测试
输出 :: rm: 无法取消链接 `test': 不是所有者
我还尝试了以下命令来递归删除文件夹中的文件:
rm -r 测试
输出:rm:警告:圆形目录结构。这几乎肯定意味着您的文件系统已损坏。通知您的系统管理员。以下两个目录具有相同的 inode 编号:
测试`测试/'
所以我尝试了以下命令来删除递归文件结构,
rm -rfd 测试
输出:rm:无法取消链接`test':不是所有者
我使用的所有上述方法都来自 StackOverflow 或 Microsoft QnA 页面,但似乎没有任何效果。
我也在安全模式下尝试了所有这些。但是,我仍然遇到相同的错误。两次我也收到错误代码为 0x80070091 的错误
我已经尝试使用 takeown 命令取得文件夹的所有权。
带走 /f 测试 /r
输出:
成功:文件(或文件夹):“C:\Users\mandar\Desktop\test”现在归用户“MANDAR_SADYE\mandar”所有。
成功:文件(或文件夹):“C:\Users\mandar\Desktop\test\”现在归用户“MANDAR_SADYE\mandar”所有。
我尝试了我能找到的所有可能的解决方案,但似乎没有任何效果。如果有人对此问题有任何建议,请将其作为您认为合适的答案或评论发布。先感谢您。
您的问题是您有一个名称仅包含空格的文件系统条目(test\ 请注意反斜杠后面的空格)。这在 NTFS 中在技术上是可行的,但在 Win32 中根本不允许,并且大多数 Windows API 根本不会优雅地处理它。他们会尝试从文件名的末尾去除空格,然后当文件名不再存在时会感到非常困惑,并可能将其视为您指的是目录;即使您使用类似test\*或的格式也会发生这种情况" "。
Windows 本身有两种方法可以解决这个问题。
\\?\。这样做会关闭有关什么是有效文件名的所有 Win32 规则(例如“不能以空格开头或结尾”),只留下小得多的 NTFS 规则集(例如,不能包含\或:)。请注意,它还关闭了方便的速记,例如使用相对路径;如果你想这样做,你必须提供一个绝对路径 (C:\Users\mandar\Desktop\test\),你需要引用它,以便命令行知道你打算包含最后一个空格:(del "\\?\C:\Users\mandar\Desktop\test\ "是的,你应该cmd.exe为此使用;Powershell 忽略 \?\ 并且通过 MinGW 或 Cygwin 在 Windows 上运行的类 Unix 外壳不使用内核期望的格式的路径)。 WSL(适用于 Linux 的 Windows 子系统)。如果你以前没有使用过 WSL,你需要从 Windows 应用商店安装一些 Linux 发行版(Ubuntu和OpenSUSE都可用并且适合一般用途,如果你想在你的电脑上安装一个特殊用途的发行版,Kali也可用) Windows 框;如果需要,您可以安装多个)。从bashWSL 发行版的内部(或其他 shell),导航到相关目录 ( cd /mnt/c/Users/mandar/Desktop/test),然后删除有问题的文件 ( rm ' ') 或简单地删除整个目录。经过多次尝试和错误,我找到了删除它的方法。在尝试harrymc 的解决方案之前我找到了一个解决方案,因此无法确认他的解决方案是否有效。我这样做的方式并不简单,所以我强烈建议首先尝试他的解决方案,并让我知道它是否有效,以便我可以将其标记为可接受的答案。
所以我遵循的方法是打开不同文件系统中的文件夹。
所以我猜测问题出在Windows NTFS文件系统上。正如您所看到的,除了第三种方法之外,您还需要以可启动或虚拟机的形式寻找辅助操作系统,而大多数人都没有。所以尝试第三种解决方案。如果它不起作用,请尝试harrymc 的解决方案。如果即使这样也不起作用,那么您可以安装虚拟机或制作可启动笔驱动器并尝试删除它。
| 归档时间: |
|
| 查看次数: |
26840 次 |
| 最近记录: |